Linux常用命令-含丰富示例

su [用户名]

作用:切换用户身份(switch user)
命令示例:
bash [root@localhost abor]# su abor [abor@localhost ~]$
提示:当su后不加任何用户时,默认是切换到root用户
bash [abor@localhost ~]$ su 密码: [root@localhost abor]#

cd 目录

作用:切换目录(change directory)
特殊目录:

  1. / 根目录
  2. 上一级目录
  3. . 当前目录
  4. - 显示并打开上一次操作的目录
  5. ~ 当前用户的宿主目录(即家home目录)

示例:(pwd命令是显示当前目录)

[root@localhost alternatives]# cd /etc/alternatives/
[root@localhost alternatives]# pwd
/etc/alternatives
[root@localhost alternatives]# cd /
[root@localhost /]# cd -
/etc/alternatives
[root@localhost alternatives]# cd ~
[root@localhost ~]# pwd
/root

注意:超级用户与普通用户的家目录不一样

[root@localhost ~]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# su abor
[abor@localhost root]$ cd ~
[abor@localhost ~]$ pwd
/home/abor

ls 目录

作用:显示目录中的文件(list)
选项:

  • -a 显示所有文件,包含特殊目录
  • -l 显示详细信息
  • -h 方便查看文件大小
  • -R 递归显示当前目录下的所有目录
  • -r 逆序排序
  • -t 按修改时间排序

示例:

[root@localhost /]# ls -a
[root@localhost /]# ls -l
[root@localhost /]# ls -lt

解析:

  • 第一列的第一个字符表示文件类型:d 代表目录,- 代表普通文件, l 代表链接文件(链接文件的定义与windows的快捷方式一样)
  • 第一列后九个字符代表该文件或目录的权限
    注意:如果不带任何参数的话,默认是ls -a ,但不包含特殊目录

mkdir 目录名

作用:创建新目录(make directories)
选项:

  • -p 强制创建新目录 (不需要该目录的父目录存在)
    示例:
[root@localhost home]# ls
abor  jdk1.8.0_65  tomcat8
[root@localhost home]# mkdir test
[root@localhost home]# ls
abor  jdk1.8.0_65  test  tomcat8
[root@localhost home]# mkdir -p a/b/c
[root@localhost home]# ls
a  abor  jdk1.8.0_65  test  tomcat8

touch 文件名

作用:创建新的空文件或者更新时间
示例:

  • 创建单个文件
    [root@localhost abor]# touch testTouch.txt
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  a.txt  jdk-8u65-linux-x64.tar.gz  testTouch.txt
    
  • 创建多个文件要用花括号括起来,并用逗号间隔开
    [root@localhost abor]# touch {touch1.txt,touch2.txt}
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  jdk-8u65-linux-x64.tar.gz  touch1.txt
    a.txt                        testTouch.txt              touch2.txt
    
  • 创建文件名带空格的文件一定要用引号包裹,否则会创建多个文件
    	[root@localhost abor]# touch "space name.txt"
    	[root@localhost abor]# ls
    	apache-tomcat-8.5.45.tar.gz  jdk-8u65-linux-x64.tar.gz  testTouch.txt  touch2.txt
    	a.txt                        space name.txt             touch1.txt
    	[root@localhost abor]# ll
    	total 186516
    	-rw-r--r--. 1 root root   9722154 Sep 18 16:07 apache-tomcat-8.5.45.tar.gz
    	-rw-r--r--. 1 root root         5 Oct 14 20:15 a.txt
    	-rw-r--r--. 1 root root 181260798 Jan 20  2018 jdk-8u65-linux-x64.tar.gz
    	-rw-r--r--. 1 root root         0 Oct 14 20:21 space name.txt
    	-rw-r--r--. 1 root root         0 Oct 14 20:18 testTouch.txt
    	-rw-r--r--. 1 root root         0 Oct 14 20:20 touch1.txt
    	-rw-r--r--. 1 root root         0 Oct 14 20:20 touch2.txt
    
  • 更新文件时间不会改变文件的原内容
    [root@localhost abor]# ll a.txt 
    -rw-r--r--. 1 root root 5 Oct 14 20:00 a.txt
    [root@localhost abor]# cat a.txt 
    1234
    [root@localhost abor]# touch a.txt 
    [root@localhost abor]# ll a.txt 
    -rw-r--r--. 1 root root 5 Oct 14 20:15 a.txt
    [root@localhost abor]# cat a.txt 
    1234
    

cp 源文件或目录 目的文件

作用:复制文件或者文件夹(copy)
选项:

  • -r -R 递归处理,用于复制文件夹
  • -p 保留文件属性
    示例:
  • 复制文件并改名
    	[root@localhost abor]# cat /etc/hosts
    	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    	[root@localhost abor]# cp /etc/hosts testCopy.txt
    	[root@localhost abor]# ls
    	apache-tomcat-8.5.45.tar.gz  jdk-8u65-linux-x64.tar.gz  testCopy.txt
    	[root@localhost abor]# cat testCopy.txt 
    	127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    	::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
  • 复制多个文件
    写多个文件名
    [root@localhost abor]# cp /etc/host.conf  /etc/hostname  ./
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  host.conf  hostname  jdk-8u65-linux-x64.tar.gz  testCopy.txt
    使用通配符
    [root@localhost abor]# ls /etc/*.conf
    /etc/asound.conf  /etc/krb5.conf       /etc/mke2fs.conf    /etc/sudo-ldap.conf
    /etc/chrony.conf  /etc/ld.so.conf      /etc/nsswitch.conf  /etc/sysctl.conf
    /etc/dracut.conf  /etc/libaudit.conf   /etc/ntp.conf       /etc/vconsole.conf
    /etc/e2fsck.conf  /etc/libuser.conf    /etc/resolv.conf    /etc/yum.conf
    /etc/GeoIP.conf   /etc/locale.conf     /etc/rsyslog.conf
    /etc/host.conf    /etc/logrotate.conf  /etc/sestatus.conf
    /etc/kdump.conf   /etc/man_db.conf     /etc/sudo.conf
    [root@localhost abor]# cp /etc/*.conf test/
    [root@localhost abor]# ls test/
    asound.conf  host.conf      libuser.conf    nsswitch.conf  sudo.conf
    chrony.conf  kdump.conf     locale.conf     ntp.conf       sudo-ldap.conf
    dracut.conf  krb5.conf      logrotate.conf  resolv.conf    sysctl.conf
    e2fsck.conf  ld.so.conf     man_db.conf     rsyslog.conf   vconsole.conf
    GeoIP.conf   libaudit.conf  mke2fs.conf     sestatus.conf  yum.conf
    
    
  • 复制文件夹
    [root@localhost abor]# cp -r /etc/alternatives/ ./
    [root@localhost abor]# ls
    alternatives                 host.conf  jdk-8u65-linux-x64.tar.gz
    apache-tomcat-8.5.45.tar.gz  hostname   testCopy.txt
    

mv 源文件或目录 目的目录

作用:移动文件和目录、重命名文件和目录
选项:

  • -b :若需覆盖文件,则覆盖前先行备份
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖
  • -u :若目标文件已经存在,且 source 比较新,才会更新(update)
    示例:
  • 移动单个文件
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  destination  jdk-8u65-linux-x64.tar.gz  source
    [root@localhost abor]# ls source/
    asound.conf  host.conf      libuser.conf    nsswitch.conf  sudo.conf
    chrony.conf  kdump.conf     locale.conf     ntp.conf       sudo-ldap.conf
    dracut.conf  krb5.conf      logrotate.conf  resolv.conf    sysctl.conf
    e2fsck.conf  ld.so.conf     man_db.conf     rsyslog.conf   vconsole.conf
    GeoIP.conf   libaudit.conf  mke2fs.conf     sestatus.conf  yum.conf
    [root@localhost abor]# ls destination/
    [root@localhost abor]# mv source/asound.conf destination/
    [root@localhost abor]# ls destination/
    asound.conf
    [root@localhost abor]# ls source/
    chrony.conf  host.conf   libaudit.conf   man_db.conf    resolv.conf    sudo-ldap.conf
    dracut.conf  kdump.conf  libuser.conf    mke2fs.conf    rsyslog.conf   sysctl.conf
    e2fsck.conf  krb5.conf   locale.conf     nsswitch.conf  sestatus.conf  vconsole.conf
    GeoIP.conf   ld.so.conf  logrotate.conf  ntp.conf       sudo.conf      yum.conf
    
  • 移动多个文件
    [root@localhost abor]# ls source/
    chrony.conf  host.conf   libaudit.conf   man_db.conf    resolv.conf    sudo-ldap.conf
    dracut.conf  kdump.conf  libuser.conf    mke2fs.conf    rsyslog.conf   sysctl.conf
    e2fsck.conf  krb5.conf   locale.conf     nsswitch.conf  sestatus.conf  vconsole.conf
    GeoIP.conf   ld.so.conf  logrotate.conf  ntp.conf       sudo.conf      yum.conf
    [root@localhost abor]# mv source/chrony.conf  source/host.conf destination/
    [root@localhost abor]# ls source/
    dracut.conf  krb5.conf      locale.conf     nsswitch.conf  sestatus.conf   vconsole.conf
    e2fsck.conf  ld.so.conf     logrotate.conf  ntp.conf       sudo.conf       yum.conf
    GeoIP.conf   libaudit.conf  man_db.conf     resolv.conf    sudo-ldap.conf
    kdump.conf   libuser.conf   mke2fs.conf     rsyslog.conf   sysctl.conf
    [root@localhost abor]# ls destination/
    asound.conf  chrony.conf  host.conf
    
  • 移动目录
    [root@localhost abor]# ls 
    apache-tomcat-8.5.45.tar.gz  des  destination  jdk-8u65-linux-x64.tar.gz  source
    [root@localhost abor]# ls des
    [root@localhost abor]# mv destination/ des
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  des  jdk-8u65-linux-x64.tar.gz  source
    [root@localhost abor]# ls des/
    destination
    
  • 文件更名
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  a.txt  des  jdk-8u65-linux-x64.tar.gz  source
    [root@localhost abor]# mv a.txt b.txt
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  b.txt  des  jdk-8u65-linux-x64.tar.gz  source
    
  • 使用 -f 参数,不询问是否覆盖已有文件
    [root@localhost abor]# mv b.txt c.txt 
    mv:是否覆盖"c.txt"? y
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  c.txt  des  jdk-8u65-linux-x64.tar.gz  source
    [root@localhost abor]# touch d.txt
    [root@localhost abor]# mv -f c.txt d.txt 
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  des  d.txt  jdk-8u65-linux-x64.tar.gz  source
    
  • 使用通配符操作
    将当前目录下的所有文件移动到上一级目录
    [root@localhost des]# ls
    destination  test.txt
    [root@localhost des]# ls ../
    apache-tomcat-8.5.45.tar.gz  des  d.txt  jdk-8u65-linux-x64.tar.gz  source
    [root@localhost des]# mv * ../
    [root@localhost des]# ls
    [root@localhost des]# ls ../
    apache-tomcat-8.5.45.tar.gz  destination  jdk-8u65-linux-x64.tar.gz  test.txt
    des                          d.txt        source
    

rm 文件或目录

作用:删除文件或者目录
选项:

  • -r 递归,删除目录
  • -f 强制删除文件或目录
    示例:
  • 删除文件
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  b.txt  destination                source
    a.txt                        des    jdk-8u65-linux-x64.tar.gz  test.txt
    [root@localhost abor]# rm b.txt 
    rm:是否删除普通空文件 "b.txt"?y
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  des          jdk-8u65-linux-x64.tar.gz  test.txt
    a.txt                        destination  source
    ##使用-f不询问直接删除文件
    [root@localhost abor]# rm -f a.txt 
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  des  destination  jdk-8u65-linux-x64.tar.gz  source  test.txt
    
  • 删除目录
    [root@localhost abor]# ls 
    apache-tomcat-8.5.45.tar.gz  des  destination  jdk-8u65-linux-x64.tar.gz  source  test.txt
    [root@localhost abor]# rm -rf destination/
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  des  jdk-8u65-linux-x64.tar.gz  source  test.txt
    

cat 文件名

作用:显示文件内容 (concatenate)
选项:

  • -A 显示所有内容,包括隐藏字符

  • -n 显示行号
    示例:

  • 显示文件所有内容

    [root@localhost abor]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
  • 创建文件(使用>符号)

    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  des  jdk-8u65-linux-x64.tar.gz  source  test.txt
    [root@localhost abor]# cat > a.txt
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  a.txt  des  jdk-8u65-linux-x64.tar.gz  source  test.txt
    
  • 将两个文件的所有内容合并到一个文件中

    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  a.txt  b.txt  des  jdk-8u65-linux-x64.tar.gz  source  test.txt
    [root@localhost abor]# cat a.txt 
    This is a.txt
    [root@localhost abor]# cat b.txt 
    This is b.txt 
    [root@localhost abor]# cat a.txt b.txt > c.txt
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  b.txt  des                        source
    a.txt                        c.txt  jdk-8u65-linux-x64.tar.gz  test.txt
    [root@localhost abor]# cat c.txt 
    This is a.txt
    This is b.txt
    
  • 显示行号(利用-n选项)

    [root@localhost abor]# cat c.txt 
    This is a.txt
    This is b.txt 
    [root@localhost abor]# cat -n c.txt 
         1  This is a.txt
         2  This is b.txt 
    

more 文件名

作用:分页显示文件内容
示例:

  • 分页显示文件内容(enter键:下一行;f键或空格:下一页;q或Q退出)
  • 从第5行开始显示文件内容(使用 +n 参数)
    [root@localhost abor]# more +5 /etc/services 
    

head 文件名

作用:查看文件的前n行
选项:

  • -n 指定行数
  • -c 指定字节
    示例:
  • 查看文件前5行
    [root@localhost abor]# head -n 5 /etc/services 
    # /etc/services:
    # $Id: services,v 1.55 2013/04/14 ovasik Exp $
    #
    # Network services, Internet style
    # IANA services version: last updated 2013-04-10
    [root@localhost abor]#
    
  • 查看文件除了最后n行的全部内容
    [root@localhost abor]# head -n -5 /etc/services 
    
  • 查看文件前30个字节的内容
    [root@localhost abor]# head -c 30 /etc/services 
    # /etc/services:
    # $Id: servic
    
  • 将文件前10行的内容复制到文件中
    [root@localhost abor]# ls
    apache-tomcat-8.5.45.tar.gz  a.txt  jdk-8u65-linux-x64.tar.gz
    [root@localhost abor]# cat a.txt 
    [root@localhost abor]# head -n 10 /etc/services > a.txt 
    [root@localhost abor]# cat -n a.txt 
         1  # /etc/services:
         2  # $Id: services,v 1.55 2013/04/14 ovasik Exp $
         3  #
         4  # Network services, Internet style
         5  # IANA services version: last updated 2013-04-10
         6  #
         7  # Note that it is presently the policy of IANA to assign a single well-known
         8  # port number for both TCP and UDP; hence, most entries here have two entries
         9  # even if the protocol doesn't support UDP operations.
        10  # Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
    

tail 文件名

作用:查看文件的最后n行
选项:

  • -n 指定行数
  • -f 动态显示文件内容(实时更新)
    示例:
  • 显示文件最后五行内容
    [root@localhost abor]# cat -n a.txt 
    	     1  # /etc/services:
    	     2  # $Id: services,v 1.55 2013/04/14 ovasik Exp $
    	     3  #
    	     4  # Network services, Internet style
    	     5  # IANA services version: last updated 2013-04-10
    	     6  #
    	     7  # Note that it is presently the policy of IANA to assign a single well-known
    	     8  # port number for both TCP and UDP; hence, most entries here have two entries
    	     9  # even if the protocol doesn't support UDP operations.
    	    10  # Updated from RFC 1700, ``Assigned Numbers'' (October 1994).  Not all ports
    	[root@localhost abor]# tail -n 5 a.txt 
    	#
    	# Note that it is presently the policy of IANA to assign a single well-known
    	# port number for both TCP and UDP; hence, most entries here have two entries
    	# even if the protocol doesn't support UDP operations.
    	# Updated from RFC 1700, Assigned Numbers'' (October 1994).  Not all ports
    	[root@localhost abor]#
    
  • 动态显示文件内容
    [root@localhost abor]# tail -f a.txt
    
    在这里插入图片描述

tar

作用:压缩解压目录和文件
选项:

  • -c 压缩文件或目录(create)
  • -x 解压文件
  • -z 以gzip命令压缩/解压缩
  • -j 以bzip2命令压缩/解压缩
  • -v 压缩或解压缩过程显示文件
  • -f 指定文件名
  • -C 指定解压目录
    示例(最常用压缩与解压):
  • 压缩文件(tar -zcvf 压缩后的文件名 需要压缩的文件列表)
    [root@localhost test]# ls
    a.txt  b.txt  c.txt
    [root@localhost test]# tar -zcvf ab.tar.gz a.txt b.txt 
    a.txt
    b.txt
    [root@localhost test]# ls
    ab.tar.gz  a.txt  b.txt  c.tx
    #支持通配符
    [root@localhost test]# tar -zcvf abc.tar.gz *.txt
    a.txt
    b.txt
    c.txt
    [root@localhost test]# ls
    abc.tar.gz  ab.tar.gz  a.txt  b.txt  c.txt
    [root@localhost test]#
    
  • 解压文件(tar -zxvf 需要被解压的文件 -C 解压目录)
    [root@localhost test]# ls
    abc  abc.tar.gz  ab.tar.gz  a.txt  b.txt  c.txt
    [root@localhost test]# tar -zxvf abc.tar.gz -C abc
    a.txt
    b.txt
    c.txt
    [root@localhost test]# ls abc/
    a.txt  b.txt  c.txt
    [root@localhost test]#
    

vi 文件名

作用:编辑文件
命令列表:

插入命令
命令作用
a在光标后插入文本
A在行尾插入文本
i在光标前插入文本
I在行首插入文本
o在光标的下面插入新行
O在光标的上面插入新行
定位命令
命令作用
:set nu设置行号
:set nonu取消行号
gg定位至第一行
G定位到最后一行
nG定位到第n行
:n定位到第n行
保存和退出
命令作用
:w保存修改
:w new filename另存为指定文件
:w >> a.txt内容追加到a.txt
:wq保存修改并退出
shift+zz保存并退出快捷键
:q!不保存退出
:wq!保存修改并退出
删除命令
命令作用
nx删除光标所在处后n个字符
ndd删除光标所在处后n行
:n1,n2d删除指定范围的行
dG删除光标所在末尾的内容
复制和剪切命令
命令作用
yy,Y复制当前行
nyy,Y复制当前以下的行
dd剪切当前行
ndd剪切以下的行
P,p粘贴
取消命令
命令作用
r取消光标所在处字符
u取消上一步操作
搜索命令
命令作用
/string向后搜索字符串忽略大小写
?string向前搜索指定字符串
n搜索下一个出现的位置
N搜索上一个出现的位置
:%s/old/new/g全文替换指定字符串,%表示全局,s是开始标志
:n1,n2s/old/new/g在一定范围内替换字符串

netstat

作用:检测主机和网络配置状况
选项:

  • -a 显示所有连接和端口
  • -t 仅显示tcp相关选项
  • -u 仅显示udp相关选项
  • -n 使用水准方式显示地址和端口号
  • -1 显示监控中的服务器的socket

ps

作用:查看系统中的进程信息
选项:

  • a 显示所有用户的进程
  • u 显示用户名和启动时间
  • x 显示没有控制终端的进程
  • e 显示所有进程,包括没有控制终端的进程
  • 1 长格式显示

top

作用:动态显示系统监控状态

kill

作用:关闭进程

df

作用:查看各个分区容量使用情况

du

作用:查看文件或者目录的大小

附表(颜色与文件(夹)类型的对应关系)

颜色文件类型
默认色普通文件
绿色可执行文件
红色tar包文件
蓝色目录(文件夹)
水红色图像文件
青色连接文件
黄色设备文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值