在此总结linux的常用命令及其常用参数:
1、ls : 列出目录的内容及其内容属性信息
-a 列出目录下的所有文件,包括隐藏文件
-l 列出文件的详细信息
-r 对目录反向排序
-t 已时间排序
-u 已文件上次访问的时间排序
-s 已文件的大小排序
2、cd :切换当前工作目录至dirname (目录参数)
cd 返回当前至用户的家目录,与参数~效果一致
cd - 返回至上次所在的目录
cd .. 进入当前目录的上一层目录
cd . 当前目录
cd / 根目录
3、cp :用来将一个或多个源文件或者源目录复制到指定的文件或目录中
-i 交互式,会问询是否进行覆盖
-r,-R 递归复制目录及目录下的所有内容
-a 归档
-f 强制复制
4、find : 查找 find path 查找的条件
-name 按照文件名进行查找
find /dir -name filename 在dir目录及其子目录下面查找名字为filename的文件
-perm
find . -perm 755 -print 在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其它用户可以读、执行的文件
-user
find ~ -user sam -print 在家目录中查找文件属主为sam的文件
-group
find ~ -group sam -print 在家目录中查找属于sam用户组的文件
-mtime -n +n
find / -mtime -5 -print 在系统根目录下查找更改时间在5日以内的文件
find /var/adm -mtime +3 -print 在/var/adm目录下查找更改时间在3日以前的文件
-type 按照文件类型进行查找
b 块设备文件 d 目录 c字符设备文件 p管道文件 l符号链接文件 f普通文件
find /etc -type d –print 在/etc目录下查找所有的目录
find命令可以可xargs命令配合使用
find . -type f -print | xargs file 查找系统中的每一个普通文件,然后使用xargs命令来测试它们分别属于哪类文件
find / -name "core" -print | xargs echo "" >/tmp/core.log 在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:
find ./ -mtime +3 -print|xargs rm -f –r 删除3天以前的所有东西 (find . -ctime +3 -exec rm -rf {} \;)
find ./ -size 0 | xargs rm -f & 删除文件大小为零的文件
5、 mkdir 创建目录
-p 递归的创建目录
-v 显示创建过程
-m 设置目录的默认权限
mkdir -m 777 test 创建一个名为test 权限为777的目录
6、mv 移动文件或者目录 也可用来更改目录或文件的名称
命令格式: mv [选项] 源文件或目录 目标文件或目录
-b 若需覆盖文件,则覆盖前先行备份
-f 不会询问直接覆盖
-i 若目标文件纯在,就会询问是否覆盖
-u 若目标文件纯在,则更新文件
7、pwd 显示当前所在你工作目录的全路径
-L 显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式)
-p 显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件
8、rm 删除文件和文件夹
命令格式:rm [选项]... 目录...
-d 删除可能有数据的目录(只限超级用户)
-f 略过不存在的文件,不显示任何信息
-i 进行任何删除操作前必须先确认
-r 同时删除该目录下的所有目录层
-v 详细显示进行的步骤
9、touch 创建文件和修改文件或者目录的时间戳
命令格式 : touch 【选项】 【文件名或者目录名】
-a 只修改文件的access(访问)时间.
-c 或--no-create 不创建不存在的文件。
-d 使用指定的日期时间,而非现在的时间
-m 指修改Modify(修改)时间,而不修改access(访问)时间
-t 将时间修改为参数指定的日期,如:07081556代表7月8号15点56分
10、cat 查看文件内容
命令格式: cat 参数 文件
-n 对文件的输出进行编号
-b 与n相似,只不过空白行不编号
-s 连续两行以上的空白行,就代替为一行显示
可以对文本内容进行追加:
cat >> 文件 <<EOF
追加的内容
>EOF
cat 连接多个文件的内容并且输出到一个新文件中;
cat sir01.txt sir02.txt sir03.txt > sir04.txt
11、more more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示
+n 从第n行开始显示
-n 定义屏幕大小为n行
-c 从顶部清屏,然后显示
-s 吧连续的空行显示为一行
12、less 对文件或其它输出进行分页显示
命令格式 : less [参数] 文件
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
13、head 显示档案的开头至标准输出中
-c 显示字节数
-n 显示行数 head -n 5 /etc/passwd 显示passwd文件的前五行
14、tail 从文件的尾部显示
-f 该参数用于监视File文件增长
tail -f filename 监视filename文件的尾部内容(默认10行,相当于增加参数 -n 10),刷新显示在屏幕上。退出,按下CTRL+C。
tail -n 20 filename 显示filename最后20行。
可以与head配合使用 提取文件的具体行数等操作
15、cut 文件内容查看 显示文件指定部分
-b 仅显示行中指定直接范围的内容
-c 仅显示指定范围内的字符
-d 指定字段的分隔符,默认的字段分隔符为“TAB”;
-f:显示指定字段的内容
16、sort 将文本内容加以排序
-b 忽略每行前面开始出的空格字符
-c 检查文件是否已经按照顺序排序
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f 排序时,将小写字母视为大写字母
-m 将几个排序好的文件进行合并
-n 依照数值的大小排序
-r 以相反的顺序来排序
-o<输出文件> 将排序后的结果存入指定的文件
-t<分隔字符> 指定排序时所用的栏位分隔字符。
17、uniq 报告或删除文件中重复的行。
-c, --count //在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated //只输出重复的行
-D, --all-repeated //只输出重复的行,不过有几行输出几行
-f, --skip-fields=N //-f 忽略的段数,-f 1 忽略第一段
-i, --ignore-case //不区分大小写
-s, --skip-chars=N //根-f有点像,不过-s是忽略,后面多少个字符 -s 5就忽略后面5个字符
-u, --unique //去除重复的后,全部显示出来
-w, --check-chars=N //对每行第N 个字符以后的内容不作对照
18、wc 统计指定文件中的字节数、字数、行数,并将统计结果显示输出
-c 统计字节数。
-l 统计行数
-m 统计字符数。这个标志不能与 -c 标志一起使用
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-L 打印最长行的长度
19、grep文本处理
-E :开启扩展(Extend)的正则表达式
-i :忽略大小写
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
-n :显示行号
-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker
-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
-o :只显示被模式匹配到的字符串。
20、tar 打包和解包
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
21、uname 操作系统信息的显示
-a 显示全部信息
-s 显示内核名称
-n 显示主机名
-r 显示当前系统的内核版本
-m 显示主机的硬件名称
-p 显示处理器的类型
-i 显示主机的硬件平台
-o 显示所使用的操作系统的名称
22 、查看系统版本 cat /etc/issue | cat /etc/redhat-release
23、du 查看使用空间
-a或-all 显示目录中个别文件的大小
-h或--human-readable 以K,M,G为单位,提高信息的可读性
-s或--summarize 仅显示总计,只列出最后加总的值
-m或--megabytes 以MB为单位输出
24、df 列出文件系统的整体磁盘空间使用情况
-a:--all,显示所有的文件系统,包括虚拟文件系统
-h:--human-readable,以人们易读的GB、MB、KB等格式显示
25、top 用于实时显示 process 的动态
26、free 显示系统内存信息
-m 以MB为单位显示内存使用情况。
-g 以GB为单位显示内存使用情况。
27、date 指定格式显示日期
%H : 小时(00-23)
%M : 分钟(00-59)
%a : 星期几 (Sun-Sat)
%A : 星期几 (Sunday-Saturday)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000-9999)
28、useradd 添加用户
-c :加上文字备注
-d :指定用户家目录
-g :指定用户组
-G :指定附加组
-o :允许创建同一uid的账户
-u :指定uid
useradd -o -u1001 -g1001 -s /sbin/nologin -d /data/web liaoyong
29、usermod 修改系统以存在的用户属性
-c :修改用户账户的备注信息
-d :修改用户的家目录
-g :修改gid
-u :修改uid
-G :修改附加组
-L :锁定密码,使密码无效
-U :解除锁定
usermod -a -G qishi user 将用户user追加到qishi组
30、userdel 删除用户
-f :强制删除用户,即使当前用户已登录
-r :删除用户的同时 ,删除与用户相关的所有文件
31、groupadd 创建新的用户组
-g :指定新建组的组id
-r :创建系统工作组,即组id小于500
-o : 允许创建已纯在的组id , 即建立两个组id相同的工作组
32、passwd 更改用户的密码
-d :删除密码
-f :强制执行
-g :修改群组密码
--stdin:通过前一个管道的数据作为密码输入
echo "123456789" |passwd --stdin user1
33、id 用于显示用户的id
-g :显示组id
-G :显示附加组id
-n :显示用户
-r :显示实际id
-u :显示用户id
34、telnet用于远端登录
telnet 192.168.0.5 3306
35、scp用于不同主机间复制文件
-B :使用批处理模式(传输过程中不询问传输口令或短语)
-p :保留原文件的修改时间,访问时间和访问权限。
-r :递归复制整个目录。
-P port:注意是大写的P, port是指定数据传输用到的端口号
scp -r /home/space/music/ root@www.runoob.com:/home/root/others/
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
36、ping 用于检测主机
-c :<完成次数> 设置完成要求回应的次数
-i :<间隔秒数> 指定收发信息的间隔时间
-t :<存活数值> 设置存活数值TTL的大小。
-R :-R 记录路由过程
37、route 添加和设置路由
添加路由:
route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1
查看路由:
route -n
删除路由:
route del -net 192.168.20.0netmask 255.255.255.0
例1:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
例2:route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
38、xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具
多行输入单行输出:
cat test.txt | xargs
-n 选项多行输出:
cat test.txt | xargs -n3
-d 选项可以自定义一个定界符:
# echo "nameXnameXnameXname" | xargs -dX
name name name name
结合 -n 选项使用:
# echo "nameXnameXnameXname" | xargs -dX -n2
name name
name name