当前位置 : 李杰的流水账 > 技术 > linux

linux常用命令总结

  需要熟悉的命令总结

10.0线上查询及帮助命令

10.1 man命令

[root@linux ~]# man ifconfig    #查看ifconfig手册 mysql  数据中help好使  create user

11.0目录操作命令(6 个)

11.1 ls命令

-a, --all                     不隐藏任何以. 开始的项目 -A, --almost-all              列出除. .. 以外的任何项目 [root@s01 dev]# ls -d */    #列出当前所有目录 block/  bus/   cpu/   fd/         input/   net/  raw/  snd/

11.2 tree命令

tree data 直接列出所有文件 [root@localhost ~]# tree -L 2     #-L n 只显示 n 层目录 (n 为数字)

11.3 pwd命令

[root@rudder home]# pwd  #显示当前目录/home

11.4 mkdir命令

[root@localhost ~]# mkdir aaa   #创建目录[root@localhost ~]# mkdir -p 111/abc   #创建目录,父目录存在,建之

11.5 rmdir命令

[root@localhost ~]# rmdir test            #删除test目录,注意必须是空目录

11.6 cd命令

[root@localhost ~]# cd /home/    #切换到home目录[root@localhost home]# cd -      #返回切换到home前的目录/root[root@localhost ~]# cd ../       #切换到上一级目录[root@localhost /]# cd ~         #切换当前用户的home目录

12.0文件操作命令(7 个)

12.1 touch命令

-r, --reference=文件  使用指定文件的时间属性替代当前时间 -t STAMP              使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间[root@linux ~]# touch test.php      #将test.php的档案时间改为,当前时间,文件不存在建之[root@linux ~]# touch -c -t 05061803 test.php     #将档案时间改为,5月6日18点3分[root@linux ~]# touch -r abc.php test.php         #将test.php档案改成根abc.php一样

12.2 cp命令

[root@localhost www]# cp -p test.rb /home/test   #将test.rb copy到test目录,并且保留原文件的属性[root@localhost www]# cp -r Dir/ /home/test      #将Dir目录copy到test目录下[root@localhost www]# cp -fr Dir/* /home/test    #将Dir下面的所有文件强制copy到test目录下

12.3 mv命令

[root@linux ~]# mv abc abc.php  #将abc移动成abc.php  

12.4 rm命令

[root@localhost ~]# rm test.php        #删除文件需要确认[root@localhost ~]# rm -f test.php     #强制删除文件不确认

12.5 ln命令

[root@localhost test_ln]# ln -s /home/zhangy/heartbeat ./   #在当前目录下,建立heartbeat的软连接[root@localhost test_ln]# ln -s /home/zhangy/test ./        #建立目录的软件接[root@localhost test_ln]# ln /home/zhangy/tee.txt ./        #建立硬连接[root@localhost test_ln]# ll    注意这里不能跨分区总计 4lrwxrwxrwx 1 root root 22 05-11 11:04 heartbeat -> /home/zhangy/heartbeat       #文件软件接-rw-r--r-- 2 root root  0 2010-11-24 tee.txt                                    #文件硬连接lrwxrwxrwx 1 root root 17 05-11 11:04 test -> /home/zhangy/test                 #目录软件接

12.6 find命令

find ./ -type f -name "*.log" | xargs grep -r "error"    #查找当前目录.log文件,并找出包含“error”的行find ./ -type f –name “*.log”-mtime +3|xargs rm –rffind ./ -type f -name "mysql" -exec chown root.root {} \; 查看当前data目录下类型是文件名字是mysql 将属主和属组修改为root

12.7 rename命令

[root@localhost www]# rename 's/\.sh/\.php/' *        #将当前目录下.sh后缀的文件,变成.php[root@localhost www]# rename 's/\.bin$//' *       #批量删除当前目录下所有文件的.bin 后缀[root@localhost www]# rename 's/A-Z/a-z/' *       #修改当前目录所有文件名为小写[root@tang2 111]# rename .txt .php *.txt

13.0文件查看及处理命令(21 个)

13.1 cat命令

[root@localhost ~]# cat test        #普通输出[root@localhost ~]#cat -n test     #开头显示行号[root@localhost ~]# cat -E test     #以$结束1111111111$[root@localhost ~]# cat -s test     #超过二个空行,合并成一个

13.2 more命令

[root@localhost zhangy]# more test.php        #查看文件[root@localhost zhangy]# netstat -tpnl |more  #常用方式,分页显示

13.3 less命令

[root@localhost zhangy]# less test.php        #查看文件[root@localhost zhangy]# netstat -tpnl |less  #常用方式,分页显示

13.4 head命令

head /etc/passwd   #默认,显示开头前10行[root@tang2 111]# head -n 2 /etc/passwd 显示前2行

13.5 tail命令

[root@linux ~]# tail /etc/passwd   #默认,显示最后10 行。[root@linux ~]# tail -n 2 /etc/passwd   #显示最后2行

13.6 cut命令

-F 1 是显示第一列[root@localhost ~]# cat /etc/passwd | cut -f1 -d ':' |head -5   #以:分割文件,输出第一个字段rootbindaemonadmcat /etc/passwd | cut -c 1-4 |head -5    #输出文件的前四个字符

13.7 paste命令

[tank@localhost test1]# paste test1 test     #合并输出二文件asdfasdfas   1234

13.8 sort命令

sort -n 数字排序 默认就可以sort -nr 倒叙-t以什么为分隔符 –k指定列[root@mpjapi ~]# sort -t " " 1.txt 10.1.1 a10.1.1 r10.1.1 w11.1.1 g[root@mpjapi ~]# sort -t " " -k 2 1.txt 10.1.1 a10.1.1 b10.1.1 c11.1.1 g10.1.1 w[root@www ~]# cat /etc/passwd | sort -t':' -k 6.2,6.4 -k 1r      #对/etc/passwd,先以第六个域的第2个字符到第4个字符进行正向排序,再基于第一个域进行反向排序[root@www ~]# cat /etc/passwd |  sort -t':' -k 7 -u      #查看/etc/passwd有多少个shell:对/etc/passwd的第七个域进行排序,然后去重

13.9 uniq命令

[root@tang2 111]# cat 1.php| sort |uniq -c      1       3 111      1 222注意:这里的uniq 多上下一样的才能去重复 所以最好和sort一起用

13.10 wc命令

[root@localhost ~]# cat /etc/passwd |wc -l    #查看passwd文件有多少行38

13.11 iconv命令 转换格式utf8

[root@localhost ~]# iconv abc.sh -o utf8     #将文件转换成utf8格式[root@localhost ~]# iconv -l         #查看所有编码

13.12 dos2unix 命令

[root@localhost test1]# dos2unix -n 1.dat 1.sh      #将1.dat转换成1.shdos2unix: converting file 1.dat to file 1.sh in UNIX format ...

13.13 file 命令

[root@redhat ~]# file *              #查看当前目录下的所有文件类型

13.14 diff 命令

[root@localhost www]# diff test1.rb test.rb            #比较二个文件的不同[root@localhost www]# diff myweb/ html/                   #比较二个文件夹的不同[root@localhost www]# vidiff test1.rb test.rb 图像化查看

13.15 chattr lsattr 命令

chattr 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性[root@localhost ~]# chattr +i nginx.conf                     #设置该文件不能进行任何形势的修改[root@localhost ~]# mv nginx.conf nginx.conf_bakmv: 无法将"nginx.conf" 移动至"nginx.conf_bak": 不允许的操作[root@localhost ~]# lsattr nginx.conf                       #查看chattr设置的权限----i--------e- nginx.conf[root@localhost ~]# chattr -i nginx.conf                    #取消-i的权限设置[root@localhost ~]# lsattr nginx.conf                      #查看chattr设置的权限-------------e- nginx.conf

13.16 rev 命令和cat没区别

13.17 vimdiff 命令

[root@localhost ~]# vimdiff test.php test1.php    #比较二个文件的不同

14.0 文件打包压缩的命令(3个)

14.1 gzip命令

[root@localhost zhangy]# tar cf test.tar -R test   #gzip不能压缩目录,先打包[root@localhost zhangy]# gzip test.tar             #压缩[root@localhost zhangy]# gzip -l test.tar.gz       #查看压缩包中的内容[root@localhost zhangy]# gzip -dv test.tar.gz     #解压

14.2 tar命令

[root@ubuntu ~]# tar -czvf ar_test.tar.gz ar_test  #将ar_test文件打包并且压缩[root@ubuntu ~]# tar zxvf ar_test.tar.gz         #解压[root@ubuntu ~]# tar -tf ar_test.tar.gz          #查看包里面的文件信息[root@ubuntu ~]# tar -cjf all.tar.bz2 *.jpg         #压缩成.bz2的压缩文件[root@ubuntu ~]# tar -xjf all.tar.bz2             #解压.bz2的文件

14.3 unzip命令

unzip -o 文件 直接覆盖

15.0 系统显示命令

15.1 uname命令

[root@localhost ~]# uname -a     #显示系统信息 Linux localhost.localdomain 2.6.18-238.12.1.el5 #1 SMP Tue May 31 13:23:01 EDT 2011 i686 i686 i386 GNU/Linux[root@localhost ~]# uname -m     #显示系统类型,一般情况下,i386,i686是32位系统,X86,X86_64是64位系统i686[root@localhost ~]# uname -n     #查看主机名localhost.localdomain

15.2 hostname命令

[root@linux ~]# hostname    #显示主机名hnlinux[root@linux ~]# hostname -i #显示主机IP地址127.0.0.1[root@linux ~]# hostname -d #显示主机域名localdomain

15.3 dmesg命令

程序用来帮助用户了解系统的启动信息。用户只需使用命令: dmesg > boot.messages 然后将文件 boot.messages 邮寄给某些可以帮你调试系统的人。而无须手工拷贝系统启动信息。[root@rudder home]# dmesg       #打印内核环形缓冲区

15.4 uptime命令

[root@linux ~]# uptime  11:14:00 up  3:11,  2 users,  load average: 0.00, 0.01, 0.05最近一分钟,五分钟和十五分钟的系统负载

15.5 stat命令

[root@www ~]#stat abc.ph  文件:"abc.ph"  大小:0               块:0          IO 块:4096   普通空文件设备:801h/2049d        Inode:1200314     硬链接:1权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)最近访问:2013-05-14 13:24:30.830729223 +0800最近更改:2013-05-14 13:24:30.830729223 +0800最近改动:2013-05-14 13:24:30.830729223 +0800创建时间:-[chenliang@CnDkL01 ~]$ stat -c %a pass.sh     #显示pass.sh文件的数字权限644

15.6 du命令

[root@rudder ~]# du -ah         #详细查看当前目录,子目录下的,所有文件和目录[tank@node1 cdn]$ du -sm * | sort -n    #统计当前目录大小,并安大小排序

15.7 df命令

[root@localhost ~]# df -h    #目前磁盘空间和使用情况 以更易读的方式显示[root@localhost ~]# df -ia    #列出各文件系统的i节点使用情况

15.8 top命令

按1显示cpu 核数top - 16:15:05 up 6 days,  6:25,  2 users,  load average: 1.45, 1.77, 2.14Tasks: 147 total,   1 running, 146 sleeping,   0 stopped,   0 zombieCpu(s):  0.2% us,  0.2% sy,  0.0% ni, 86.9% id, 12.6% wa,  0.0% hi,  0.0% siMem:   4037872k total,  4003648k used,    34224k free,     5512k buffersSwap:  7164948k total,   629192k used,  6535756k free,  3511184k cached 查看12.6% wa IO等待所占用的CPU时间的百分比,高过30%时IO压力高

15.9 free命令

root@tnak-VirtualBox:/home/tnak# free -m       #以M为单位             total       used       free     shared    buffers     cachedMem:           496        345        151          0         62        226-/+ buffers/cache:         56        439Swap:          508          0        508root@tnak-VirtualBox:/home/tnak# free -s 3     #每3秒执行一次             total       used       free     shared    buffers     cachedMem:        508176     353360     154816          0      63580     231656-/+ buffers/cache:      58124     450052Swap:       521212          0     521212

15.10 w命令

[root@localhost ~]# w     #示目前登入系统的用户信息 09:30:39 up  1:19,  2 users,  load average: 0.00, 0.01, 0.05USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHATtank     tty1                      08:29    1:01m  1.04s  0.91s -bashtank     pts/0    192.168.56.1     08:29    0.00s  1.70s  0.13s sshd: tank [priv

15.11 date命令

date -s "12:12:23 2006-10-10″ //这样可以设置全部时间[root@template ~]# date '+%F %T'2014-07-30 18:35:50

16.0 搜索文件命令

16.1 which命令

[zhangy@BlackGhost download]$ which find/usr/bin/find

16.2 whereis命令

[root@tang2 ~]# whereis -b nginxnginx: /usr/local/nginx 定位可执行文件 不带b好像也可以

16.3 locate命令

[root@localhost ~]# locate ~/install  #查找当前目录下以install开头的文件 /root/install.log /root/install.log.syslog [root@localhost ~]# locate -i ~/install  #查找当前目录下以install开头的文件,不区分大小写 /root/install.log /root/install.log.syslog [root@localhost ~]# locate -i /etc/fuc  #查找/etc目录下面以fuc开头的文件,不区分大小写

17.0用户管理命令

17.1 useradd命令

  • -u 指定用户的UID
  • -d 指定用户的宿主目录位置
  • -e 指定用户的帐号,可使用YYYY-MM-DD的日期格式
  • -g 指定用户的基本组名
  • -G 指定用户的附加组名
  • -M 不建立使用者目录,即使/etc/login.defs系统档设定要建立使用者目录
  • -s 指定用户的登录shell
-u参数创建oldboy的用户帐号,并将其UID号指定为100。 [root@c66-moban ~]# useradd -u 100 oldboy -d 参数创建admin用户并设置宿主目录位置为/admin [root@c66-moban ~]# useradd -d /admin admin -e -g参数创建一个用户为zhangsan,它属于jing这个组过期时间为2014-12-31 [root@c66-moban ~]# useradd -g jing -e 2014-12-31 zhangsan -G 参数创建lisi用户附加组为jing root@c66-moban ~]# useradd -G jing lisi [root@c66-moban ~]# groups lisi     //查看lisi属于那个   -M –s参数创建oldboy用户登录shell指定为/sbin/nologin,不为创建宿主目录 [root@c66-moban ~]# useradd -M -s /sbin/nologin oldboy

17.2 userdel命令

userdel语法:[选项]  用户名 userdel功能: 删除用户帐号 userdel参数: -r 删除用户宿主目录 -r 参数将oldboy1用户的宿主目录删除 没删用户前的结果 [root@c66-moban ~]# ls -ld /home/text drwx------. 2 text text 4096 May  1 15:09 /home/text [root@c66-moban ~]# userdel -r text 删除用户后的结果 [root@c66-moban ~]# ls -ld /home/text ls: cannot access /home/text: No such file or directory

17.3 passwd命令

[root@Blackghost ~] passwd zhangying     #给zhangying修改密码 [root@c66-moban ~]#passwd -l new  锁定new用户 [root@c66-moban ~]#passwd -u new  给new用户解锁 [root@c66-moban ~]#passwd -d new  清空new用户密码 7天内不能更改密码 60天以后必须修改密码 过期10天通知new用户过期30天后禁止new用户登录 [root@c66-moban ~]# passwd -n 7 -x 60 -w 10 -i 30 new Adjusting aging data for user new. passwd: Success

17.4 chage命令

参数 说         明
-l 查看用户信息
-E 设置账户过期时间
-m 修改密码的最短天数
-M 修改密码的最大天数
-W 过期警告天数
-d 最近一次密码设置时间设置为”最近日期”
-I 过期天数禁止登录
[root@c66-moban ~]# chage -d "2015/02/16" new 设置账户过期时间 [root@c66-moban ~]# chage -E "2015/02/19" new 过期后20天停止登录权限 [root@c66-moban ~]# chage -I 20 new 用chage命令来设置修改密码的最短天数、最大天数、过期警告天数 [root@c66-moban ~]# chage -m 5 -M 100 -W 10 new [root@c66-moban ~]# chage -l new Last password change                       : Feb 16, 2015 Password expires                           : May 27, 2015 Password inactive                          : Jun 26, 2015 Account expires                            : Feb 19, 2015 Minimum number of days between password change : 最短密码更改的天数5天 Maximum number of days between password change 更改密码的最大数100天 Number of days of warning before password expires 在密码过期天警告数10天

17.5 usermod命令

usermod语法:[选项]  用户名 usermod功能:修改用户帐号 usermod参数:
  • -u 修改用户的UID
  • -d 修改用户的主目录
  • -s 指定用户的登录shell
  • -l 更改用户帐号的登录名称
  • -L 锁定用户帐号
  • -U 解锁用户帐号
-u参数的示例将”tong”用户的UID601改为507 [root@c66-moban ~]# useradd tong [root@c66-moban ~]# id tong uid=601(tong) gid=601(tong) 组=601(tong) [root@c66-moban ~]# usermod -u 507 tong [root@c66-moban ~]# id tong uid=507(tong) gid=601(tong) 组=601(tong) -d 参数修改tong用户的主目录将原来的/home/tong改为/test/tong [root@c66-moban ~]# echo ~tong /home/tong [root@c66-moban ~]# usermod -d /test/tong tong [root@c66-moban ~]# echo ~tong /test/tong -1参数将用户oldboy修改为oldboy1 [root@c66-moban ~]# usermod -l oldboy1 oldboy   -L参数将oldboy1用户锁定 [root@c66-moban ~]# usermod -L oldboy1 [root@c66-moban ~]# passwd -S oldboy1 oldboy1 LK 2015-05-01 0 99999 7 -1 (Password locked.) -U参数将oldboy1用户解锁 [root@c66-moban ~]# usermod -U oldboy1 [root@c66-moban ~]# passwd -S oldboy1 oldboy1 PS 2015-05-01 0 99999 7 -1 (Password set, SHA512 crypt.)  

17.6 id命令

[root@localhost ~]# id zhangy           #显示zhangy的信息uid=999(zhangy) gid=999(zhangy) 组=999(zhangy)

17.7 su命令

[root@Blackghost ~] su zhangying              #切换用户,原用户环境变量[root@Blackghost ~] su - zhangying                  #切换用户,新用户环境变量  

17.8 sudo命令

[zhangying@Blackghost ~] sudo touch test        #以root账户来建一个文件test,为空默认是root用户

17.9 visudo命令

visudo 是对/etc/sudoers这个文件,进行编辑的专属命令[root@localhost ~]# visudo

17.10 gropadd命令

groupadd语法:[选项]  组名 groupadd功能:  添加帐号 groupadd参数: -g指定组的GID -g 参数创建一个组名为oldboy,指定GID为310 [root@c66-moban ~]# groupadd oldboy -g 310 [root@c66-moban ~]# tail -1 /etc/group oldboy:x:310:

18.0基本网络操作命令

18.1 gropadd命令

[root@localhost ~]# telnet 127.0.0.1 6379 用ctrl+D 逃跑

18.2 ifdown命令

ifdown eth0    #禁用eth0 对应ifup

18.3 netstat命令

f.显看已连接的TCP端口,以及PID [root@BlackGhost zhangy]# netstat -tpnl g.查看连接某服务端口最多的的IP地址 [root@BlackGhost zhangy]# netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -2018 221.136.168.363 154.74.45.2422 78.173.31.2362 62.183.207.982 192.168.1.142 182.48.111.2152 124.193.219.342 119.145.41.22 114.255.41.30  

内容列表