Linux系统命令非常之多,但是玩过Linux之后就会明白,我们只需要掌握常用的命令就可以了。常用命令的使用方式也不可能都记住,但是你只要知道这个命令,使用的时候查下man或commond -h
看看用法就好了。
cd 这时一个最基本的命令,我们平时基本上也只会用到cd dir
,也可以跟一些option,但是基本上是用不到的,dir可以是绝对路径也可以是相对路径。
1 2 3 cd /path/path2 cd ./path cd ../path
ls 用来查看文件和目录,option很多,下面列下我在工作中经常用到的,其他的可以通过man ls
来查看详细的说明。
1 2 3 4 5 -l:列出文件的属性、权限等详细信息。ls -l有一个别名是ll -a:列出所有文件,包括隐藏文件 -h:将文件容量以较易读的方式(GB,kB等)列出来 -R:递归列出 -F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。
pwd 用于打印当前目录的绝对路径。
mkdir 创建一个空文件夹,与之对应的rmdir
用于删除空文件夹。
1 2 3 4 mkdir [-mp] 目录名-m:配置文件权限。mkdir -m 777 test -p:递归创建目录。mkdir -p ./test1/test2,若test1不存在,则会先创建test1
rm 该命令用于删除文件或者目录。
1 2 3 -f:强制删除 -i:交互模式,删除前会询问用户 -r:递归删除
mv 用户移动文件或者目录,更改名字。有两种基本用法:
mv [-fiu] source destination mv [options] source1 source2 source3 … directory
用法一中,destination可以是文件名,也可以是目录;用法二是将多个文件或目录移动到目标目录中,注意目标只能是一个目录。
1 2 3 -f:强制,若目标文件存在,不会询问,直接覆盖 -i:若目标文件存在,则会询问是否覆盖 -u:若目标文件已存在,且source 比较新时,则更新目标文件
cp 用于复制文件或者目录,也可以用于创建链接文件(windows下面的快捷方式)。同mv一样,也有两种用法:
cp [-adfilprsu] source destination cp [options] source1 source2 source3 … directory
1 2 3 4 5 6 -f:强制 -i:若目标文件存在,则会提示是否覆盖 -p:连同文件属性一起复制 -r:递归复制 -s:复制成符号链接文件 -u:source 比destination新才复制
scp 用于在Linux之间复制文件或者目录。
1 2 3 scp [-r] [-P port] file_source file_target -r:递归复制 -P:指定数据传输用到的端口号
grep 用于字符串的查找,大多数情况下都是和管道函数一起使用。
1 2 3 4 5 6 7 grep [-acinv] '查找字符串' filename -a :将binary文件以text文件的方式查找数据 -c :计算找到‘查找字符串’的次数 -i :忽略大小写 -v :反向选择,即显示出没有‘查找字符串’内容的那一行 与管道函数的使用如下: ps -ef|grep ora
find 用来在指定目录下查找文件。
1 2 3 4 5 6 7 8 9 10 11 find [path] [options] [action] 常用参数: -name filename:查找文件名称为filename的文件。 -cmin n : 在过去 n 分钟内被修改过 -ctime n : 在过去n天内被修改过的文件 -user name:文件所有者为name的文件 -group name:文件所有组为name的文件 -type type :查找文件类型为type 的文件。type 的可能取值:一般文件(f)、设备文件(b、c)、目录(d)、连接文件(l)、socket(s)、FIFO管道文件(p) 关于action的用法,比如我们要找到文件名以'ip6tables' 开头的文件,并列出这些文件的详细信息: find / -type f -name ip6tables* -exec ls -l {} \;
top 实时显示进程动态。
top [-] [d delay] [i] [n]
1 2 3 4 5 6 7 d : 改变显示的更新速度 i : 不显示任何闲置 (idle) 或无用 (zombie) 的行程 n : 更新的次数,完成后将会退出 top b :搭配 "n" 参数一起使用,可以用来将 top 的结果输出到文件中 更新显示5次的结果输入到名称为top.log的文件中 top -n 5 -b < top.log
ps 查看某个时间点的进程运行情况。主要参数如下:
1 2 3 4 5 6 7 8 9 -A:显示所有的进程。(或者-e) -a:不与terminal有关的所有进程 -u:有效用户的相关进程 -x:一般与a参数一起使用,可列出较完整的信息,不以终端机来区分。 -f:显示UID,PPIP,C与STIME栏位 一般比较常见的用法: ps -ef ps -aux
kill kill可将指定的信息送至程序.
1 2 3 4 5 6 7 kill -sgl PIDsgl的常用信号如下: 1:SIGHUP,启动被暂停的进程 2:SIGINT,中断一个程序的进行 9:SIGKILL,强制中断一个进程的进行 15:SIGTERM,以正常的结束进程方式来终止进程 17:SIGSTOP,暂停一个进程的进行
tar 对文件进行打包,压缩,常见参数如下。
1 2 3 4 5 6 7 8 -c :新建打包文件 -t :查看打包文件的内容含有哪些文件 -x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录 -j :通过bzip2的支持进行压缩/解压缩 -z :通过gzip的支持进行压缩/解压缩 -v :在压缩/解压缩过程中,将正在处理的文件名显示出来 -f filename :filename为要处理的文件 -C dir :指定压缩/解压缩的目录dir
常用的三个固定写法:
1 2 3 压缩:tar -zcvf filename.tar.bz2 文件或目录 查询:tar -ztvf filename.tar.bz2 解压:tar -zxvf filename.tar.bz2 -C 目录
zip 压缩文件。
1 2 3 4 5 6 7 zip [options] 压缩后文件名 文件1 文件2 .... zip [options] 压缩后文件名 文件或者目录 options常见的有以下几种: -d:从压缩文件内删除指定的文件。 -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。 -r:递归处理
unzip 解压缩zip文件
1 2 3 4 5 6 unzip [options] 文件.zip [-d 目标目录] options常见的有以下几种: -f:更新现有的文件。 -n:解压缩时不要覆盖原有的文件。 -o:不必先询问用户,unzip执行后覆盖原有文件。
cat 查看文本文件内容。
more 以一页一页的方式查看文本,键翻到下一页,键往回显示一页。
1 2 3 4 more [options] [-每次显示行数] [+开始行号] filename options: -p:翻页时先清除萤幕后再显示内容
tail 也是一个查看文件内容的命令,大多数时候搭配-f
参数来查看正在改变的日志。
1 2 3 4 5 6 7 tail [options] 文件名options: -f:循环读取 -q:不显示处理信息 -n <行数>:显示行数 -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
groupadd 将新的用户组加入系统
1 2 3 groupadd [-g gid] groupname -g gid:指定组的ID号
useradd 创建系统用户。
1 2 3 4 useradd [-d 用户主目录] [-e 有效期] [-f 缓冲天数] [-g 主要群主] [-G 次要群主] [-u uid] 用户名 有效期:账号的有效期限 缓冲天数:指密码过期后多少天之后关闭账号
chown 指定文件的拥有者改为指定的用户或组
1 2 3 chown [-R] user[:group] file1 file2...-R:递归处理子目录或文件
chmod 修改文件的访问权限。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 chmod [-R] mode file1 file2...-R:递归处理子目录或文件 说说mode: 1、先说比较直观的写法: [ugoa][+-=][rwx] u表示文件所有者,g表示文件所属组,o表示其他用户,a表示前三者 +增加权限,-取消权限,=修改权限为。 r表示读取,w表示写,x表示执行权限 示例:chmod u+rwx,g+rx,o=r file1 2、平时工作用得比较多的就是数字表示,写起来比较简单,但是没有那么直观。 以三个数字表示,分别表示所属用户的权限、所属组的权限、其他用户权限。 r=4,w=2,x=1 示例:修改file1,user具有rwx,group和others具有r权限。chmod 744 file1
df 用于查看文件系统磁盘使用情况。基本上也就用到df -h
。
1 2 3 4 5 6 7 8 df [options] [file]说明: file:查看指定文件夹或文件的使用情况,emmmm...没用到过这个。 -a:查看所有文件系统,默认。 -h:以可读格式显示。 -t, --type =TYPE:显示指定文件系统的TYPE的内容 -x, --exclude-type=TYPE:排除指定文件系统的TYPE的内容
du 显示目录或文件的大小
1 2 3 4 5 6 du [-chms] [--exclude=<目录或文件>] 目录或文件-c:显示文件总数 -h:以可读方式显示。 -m:以M为单位显示文件大小。 -s:只显示总计
rpm Red Hat Linux发行版专门用来管理Linux各项套件的程序。
1 2 3 4 5 6 7 8 9 10 11 12 rpm [-afqlihve] rpm包名 [--force] [--nodeps] -a:查询所有已经安装的软件包 -f:查询文件所属软件包 -q:查询软件包 -l:显示软件包的文件列表 -i:安装软件包 -h:显示安装进度 -v:提供详细的输出 -e:卸载rpm包 --force:强制安装 --nodeps:不验证依赖
crontab 用来定期执行程序的命令。 如果是系统的定时任务,直接编辑/etc/crontab即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 crontab [-u uername] [-ler] -u:只能root执行,帮其他用户创建或删除定时调度作业。 -l:查看crontab工作列表 -e:编辑crontab工作内容 -r:删除所有作业 内容的基本格式如下: 分钟(0~59) 小时(0~23) 日期(1~31) 月份(1~12) 周(0~7) /xxx/xxx/xxx.sh 特殊字符: *:表示任何时候都可以。例如0 12 * * *,表示每天的12点执行 ,:和。例如0 12,13 * * *,表示每天的12点和13点执行 -:表示时间范围。例如10 5-8 * * *,表示每天5点到8点的10份都执行一次。 /n:没隔n执行一次。例如*/30 * * *,表示每30分钟执行一次
fdisk 用于进行磁盘管理,分区操作。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 fdisk [-l] [设备名称] -l:列出所有分区内容 直接输入fdisk 设备名称 就可以对磁盘进行分区管理。 [root@master ~] 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):m 命令操作 a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
shutdown 用来进行关机相关的操作。
1 2 3 4 5 6 7 8 shutdown [options] [关机时间] [msg] options: -t seconds:设定几秒之后关机; -k:搭配msg使用,并不真的关机,只将消息传递给使用者。 -r:关机后重启 -n:强制关机。 -c:取消目前正在进行的关机动作
reboot 重启命令