Linux常用命令

目录

一、pwd-查看当前工作目录

二、cd-切换工作目录

1.将用户的工作目录更改到其他位置

2.绝对路径与相对路径

(1)绝对路径

(2)相对路径

 3.案例

三、ls-列表显示目录内容

1.表现形式

2.常用形式

3.ls -l 

4.通配符

5.示例 

四、alias-设置别名

五、du-统计目录及文件空间占用情况

1.表现形式

2.常用选项

3.示例

六、mkdir-创建空目录

1.表现形式

2.示例

七、touch-创建空文件

1.表现形式

2.示例

八、ln-创建链接文件

1.表现形式

2.软链接与硬链接的区别

3.示例

九、cp-复制文件或目录

1.表现形式

2.常用选项

3.示例

十、mv-移动目录或文件

1.表现形式

2.rename

3.示例

十一、rm-删除文件或目录

1.表现形式

2.常用选项

3.示例

十二、which-查找命令文件存放目录

1.表现形式

十三、find-查找文件或目录

1.表现形式

2.常用查找条件类型

3.find之exec用法

4.示例

十四、whereis-查找文件或目录


一、pwd-查看当前工作目录

●显示当前工作目录----pwd

[root@localhost network-scripts]# pwd        #显示当前工作目录
/etc/sysconfig/network-scripts

二、cd-切换工作目录

1.将用户的工作目录更改到其他位置

格式说明
cd 目标位置切换到目标位置
cd ~ / cd若不指定目标位置,切换到当前用户的宿主目标
cd -切换到上一次执行cd命令之前所在的目录

2.绝对路径与相对路径

(1)绝对路径

以根目录 / 为起点的路径,如 /usr/bin/cfssl

(2)相对路径

表现形式说明
直接使用目录名或文件名表示当前工作目录中的子目录、文件的位置
以一个点号“.”开头表示以当前工作目录作为起点
以两个点号“..”开头表示以当前工作目录的上一级目录作为起点
以“~”开头表示以当前用户的家目录作为起点
以·“~用户名”开头表示以指定用户的家目录作为起点

 3.案例

[root@bogon boot]# pwd
/boot
[root@bogon boot]# cd        #切换到当前用户家目录
[root@bogon ~]#

[root@bogon /]# cd /etc/sysconfig/    #切换到目标位置
[root@bogon sysconfig]#

三、ls-列表显示目录内容

1.表现形式

 ls 【选项】 【文件或目录】         #以列表形式显示文件本身或目录中的内容

2.常用形式

选项含义
-l以长格式的形式显示文件/子目录的属性
-a / -A显示目录中所有的隐藏文件,-A不显示 . 和 ..
-h   以人性化的方式显示文件/子目录大小(默认单位为字节)
-d  查看目录本身
-R以递归的方式显示目录中所有子目录的内容
-t    以时间排序显示,默认从最新到最老的方式
-r反向排序
-i显示文件/目录的 inode 号

3.ls -l 

ls -l显示文件属性一共有 7 个字段

-rw-r--r--.                1                                                 root       root      1931         5月  14 2023  initial-setup-ks.cfg
文件类型+权限位   文件硬链接数/目录的子目录数   属主      属组    文件大小   文件修改时间   文件名

其中第一位的文件类型:- 表示普通文件          d 表示目录          l 表示软链接          c 表示设备文件

rwx 分别表示可读可写可执行

4.通配符

通配符含义
*表示任意长度的任意字符
表示一个任意字符
[XXXX]表示列表中的任意一个字符

5.示例 

[root@bogon opt]# ls -l
总用量 0
drwxr-xr-x. 2 root root 6 4月   9 21:02 123
-rw-r--r--. 1 root root 0 4月   9 21:02 a..md
-rw-r--r--. 1 root root 0 4月   9 21:02 b..md
-rw-r--r--. 1 root root 0 4月   9 21:02 c..md
-rw-r--r--. 1 root root 0 4月   9 21:02 d..md
[root@bogon opt]#

[root@bogon opt]# ls -alh        #以长格式人性化的方式显示文件/子目录并且显示目录中所有的隐藏文件
总用量 0
drwxr-xr-x.  3 root root  69 4月   9 21:03 .
dr-xr-xr-x. 17 root root 224 4月   2 20:33 ..
drwxr-xr-x.  2 root root   6 4月   9 21:02 123
-rw-r--r--.  1 root root   0 4月   9 21:02 a..md
-rw-r--r--.  1 root root   0 4月   9 21:02 b..md
-rw-r--r--.  1 root root   0 4月   9 21:02 c..md
-rw-r--r--.  1 root root   0 4月   9 21:02 d..md


四、alias-设置别名

●表现形式

alias 别名命令='命令字  [选项]  [参数]'     #创建别名命令

unalias  别名命令                                     #取消别名命令
alias                                                         #显示所有的别名命令

[root@bogon ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@bogon ~]#

 

五、du-统计目录及文件空间占用情况

1.表现形式

du  【选项】  【文件或目录】                    #统计指定目录(或文件)所占用磁盘空间的大小

2.常用选项

选项含义
-a统计目录及其所有子目录和文件的占用大小
-s仅统计目录本身的占用大小,不能和 -a 选项同时使用
-h以人性化的方式显示占用大小(默认单位为KB)
-d 1 / --max-depth=1仅统计目录中的第一层子目录的占用大小

3.示例

[root@bogon ~]# du -ah        #以人性化的方式统计目录及其所有子目录和文件的占用大小
4.0K    ./.bash_logout
4.0K    ./.bash_profile
4.0K    ./.bashrc
4.0K    ./.cshrc
4.0K    ./.tcshrc
4.0K    ./anaconda-ks.cfg
4.0K    ./.cache/dconf/user
4.0K    ./.cache/dconf
4.0K    ./.cache/abrt/lastnotification
4.0K    ./.cache/abrt
8.0K    ./.cache
4.0K    ./.dbus/session-bus/d653869e07e04d9eacde1ff02716073b-9
4.0K    ./.dbus/session-bus
4.0K    ./.dbus
0       ./.local/share
0       ./.local
0       ./.config/gtk-3.0
0       ./.config/abrt
0       ./.config
4.0K    ./initial-setup-ks.cfg
4.0K    ./.bash_history
4.0K    ./.Xauthority
0       ./123
48K     .
[root@bogon ~]#

六、mkdir-创建空目录

1.表现形式

mkdir  【选项】   【目录位置及名称】        #选项-p可一次性创建嵌套的多层目录

mkdir xy{10..15}           #批量创建目录xy10,xy11,xy12,xy13,xy14,xy15

2.示例

[root@localhost ~]# mkdir xy101      #在根目录下创建xy101目录
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  xy101

[root@localhost ~]# mkdir -p /aa/bb/cc   #创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
[root@localhost ~]# cd /aa/bb/cc 
[root@localhost cc]# pwd
/aa/bb/cc     

[root@localhost ~]# mkdir xy{10..15}    #批量创建目录
[root@localhost ~]# ls
anaconda-ks.cfg       xy10   xy11  xy13  xy15
initial-setup-ks.cfg  xy101  xy12  xy14
[root@localhost ~]#

七、touch-创建空文件

1.表现形式

①可以一次性创建多个文件

②若文件已经存在则刷新

touch 【文件】..                

2.示例

[root@localhost ~]# touch aa bb    #创建aa bb文件
[root@localhost ~]# ls -l
总用量 6
-rw-r--r--. 1 root root    0 4月   8 16:56 aa
-rw-------. 1 root root 2072 4月   2 20:33 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 4月   8 16:56 bb
-rw-r--r--. 1 root root 2103 4月   2 20:35 initial-setup-ks.cfg

[root@localhost ~]# touch aa bb    #刷新时间
[root@localhost ~]# ls -l
总用量 6
-rw-r--r--. 1 root root    0 4月   8 16:58 aa
-rw-------. 1 root root 2072 4月   2 20:33 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 4月   8 16:58 bb
-rw-r--r--. 1 root root 2103 4月   2 20:35 initial-setup-ks.cfg

[root@localhost ~]# touch {a,b,c}.txt  #批量创建文件
[root@localhost ~]# ls
aa  anaconda-ks.cfg  a.txt  bb  b.txt  c.txt  initial-setup-ks.cfg

八、ln-创建链接文件

1.表现形式

ln  【-s】 源文件或者目录  链接文件或目标位置           #为文件或目录建立链接文件,类似于Windows系统的快捷方式

2.软链接与硬链接的区别

软链接硬链接
删除源文件会失效删除源文件不会失效(因为是和源文件共享同一个文件数据)
适用于文件和目录只适用于文件
创建命令:ln -s <源文件路径> <链接文件路径>创建命令:ln <源文件路径> <链接文件路径>
软链接文件可以和源文件不在同一个分区里硬链接文件必须要和源文件在同一个分区里
软链接文件和源文件inode号不同硬链接文件和源文件inode号相同

注意:源文件路径建议使用绝对路径来表示,防止因为链接文件位置变化而失效                         

3.示例

[root@bogon ~]# ln -s a.txt link.txt    #软链接
[root@bogon ~]# ls -l
总用量 8
-rw-------. 1 root root 2072 4月   2 20:33 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 4月   9 19:09 a.txt
-rw-r--r--. 1 root root    0 4月   9 19:09 b.txt
-rw-r--r--. 1 root root 2103 4月   2 20:35 initial-setup-ks.cfg
lrwxrwxrwx. 1 root root    5 4月   9 19:12 link.txt -> a.txt

[root@bogon ~]# ln b.txt hard.txt    #硬链接
[root@bogon ~]# ls -l
总用量 8
-rw-------. 1 root root 2072 4月   2 20:33 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 4月   9 19:09 a.txt
-rw-r--r--. 2 root root    0 4月   9 19:09 b.txt
-rw-r--r--. 2 root root    0 4月   9 19:09 hard.txt
-rw-r--r--. 1 root root 2103 4月   2 20:35 initial-setup-ks.cfg
lrwxrwxrwx. 1 root root    5 4月   9 19:12 link.txt -> a.txt

[root@bogon ~]# echo abc > a.txt
[root@bogon ~]# echo 123 > b.txt
[root@bogon ~]# cat a.txt
abc
[root@bogon ~]# cat b.txt
123
[root@bogon ~]# ls -l
总用量 20
-rw-------. 1 root root 2072 4月   2 20:33 anaconda-ks.cfg
-rw-r--r--. 1 root root    4 4月   9 19:22 a.txt
-rw-r--r--. 2 root root    4 4月   9 19:22 b.txt
-rw-r--r--. 2 root root    4 4月   9 19:22 hard.txt
-rw-r--r--. 1 root root 2103 4月   2 20:35 initial-setup-ks.cfg
lrwxrwxrwx. 1 root root    5 4月   9 19:12 link.txt -> a.txt
[root@bogon ~]# rm -f a.txt b.txt
[root@bogon ~]# ls -l
总用量 12
-rw-------. 1 root root 2072 4月   2 20:33 anaconda-ks.cfg
-rw-r--r--. 1 root root    4 4月   9 19:22 hard.txt
-rw-r--r--. 1 root root 2103 4月   2 20:35 initial-setup-ks.cfg
lrwxrwxrwx. 1 root root    5 4月   9 19:12 link.txt -> a.txt
[root@bogon ~]# cat link.txt            #软链接删除源文件会失效
cat: link.txt: 没有那个文件或目录
[root@bogon ~]# cat hard.txt            #硬链接删除源文件不会失效
123

 

九、cp-复制文件或目录

1.表现形式

cp  【选项】  源文件或目录   目标文件或目录         #将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

注意:当复制多个文件或目录时,目标路径必须是已存在的目录                                                      

2.常用选项

选项含义
-r复制目录时
-p保留文件权限(只对文件用,目录配合-r)

-a

保留权限(对文件目录都能用)

-f

强制覆盖
-i询问是否覆盖

3.示例

[root@bogon opt]# ls
a.txt  b.txt  c.txt
[root@bogon opt]# cp {a,b,c}.txt /root        #批量复制文件
[root@bogon opt]# cd
[root@bogon ~]# ls
anaconda-ks.cfg  a.txt  b.txt  c.txt  initial-setup-ks.cfg

[root@bogon ~]# cp a.txt /opt/abc.txt        #在复制文件中改名
[root@bogon ~]# cd /opt/
[root@bogon opt]# ls
abc.txt  a.txt  b.txt  c.txt

[root@bogon ~]# cp a.txt /opt/
cp:是否覆盖"/opt/a.txt"? yes
[root@bogon ~]# cp -f a.txt /opt/abc.txt        #此时的cp并不是原生cp,而是cp -i,所以会出现提示
cp:是否覆盖"/opt/abc.txt"? yes
[root@bogon ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@bogon ~]# \cp -f a.txt /opt/abc.txt        #“\”相当于原生的cp命令

[root@bogon etc]# cp /etc/yum.repos.d/ /opt/        #cp默认复制文件,而复制目录需要加上-r
cp: 略过目录"/etc/yum.repos.d/"
[root@bogon etc]# cp -r /etc/yum.repos.d/ /opt/        
[root@bogon etc]# ls yum.repos.d/
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo
[root@bogon etc]# cp -r /etc/yum.repos.d/* /opt/         #复制目录下所有文件

十、mv-移动目录或文件

1.表现形式

mv  【选项】  源文件或目录  目标文件或目录        #将指定的文件或目录转移位置 

注意:如果目标位置与源位置相同,则相当于执行重命名操作                                                          

2.rename

rename 批量修改文件名
rename 旧字符  新字符  目标文件

[root@bogon opt]# ls
123  a.txt  b.txt  c.txt  d.txt
[root@bogon opt]# rename txt .md *.txt   #批量修改文件名
[root@bogon opt]# ls
123  a..md  b..md  c..md  d..md
[root@bogon opt]#

3.示例

[root@bogon opt]# ls
abc
[root@bogon opt]# mv abc /root        #移动目录
[root@bogon opt]# cd
[root@bogon ~]# ls
abc  anaconda-ks.cfg  initial-setup-ks.cfg
[root@bogon ~]#

[root@bogon ~]# ls
abc  anaconda-ks.cfg  a.txt  initial-setup-ks.cfg
[root@bogon ~]# mv a.txt /opt/abc.txt        #移动文件,并且在移动过程中改名
[root@bogon ~]# cd /opt
[root@bogon opt]# ls
abc.txt
[root@bogon opt]#

[root@bogon ~]# ls
abc  anaconda-ks.cfg  initial-setup-ks.cfg
[root@bogon ~]# mv abc/ 123        #更改目录名
[root@bogon ~]# ls
123  anaconda-ks.cfg  initial-setup-ks.cfg
[root@bogon ~]#



十一、rm-删除文件或目录

1.表现形式

rm  【选项】  要删除的文件或目录         #删除指定的文件或目录

2.常用选项

选项含义
-f删除文件或目录时不进行提醒,而直接强制删除。
-i删除文件或目录时提醒用户确认(y表示删除,n表示不删除)
-r删除目录时必须使用此选项,表示递归删除整个目录(应谨慎使用)。

注意:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。                                  

注意:绝对禁止使用    rm -rf /*   删除根目录下所有;rm -rf *表示删除当前目录下的内容               

3.示例

[root@bogon opt]# ls
a  b  c  ssh
[root@bogon opt]# rm a b c        #删除文件abc,有提示
rm:是否删除普通空文件 "a"?yes
rm:是否删除普通空文件 "b"?no
rm:是否删除普通空文件 "c"?no
[root@bogon opt]# ls
b  c  ssh
[root@bogon opt]# rm -f b c        #-f 跳过提示
[root@bogon opt]# rm -rf ssh        #-r 删除目录
[root@bogon opt]# ls
[root@bogon opt]#

十二、which-查找命令文件存放目录

1.表现形式

which  命令|程序名                #默认当找到第一个目标后不再继续查找

which -a 命令|程序名                #在所有搜索路径中查找

[root@bogon opt]# which mv
alias mv='mv -i'
        /usr/bin/mv
[root@bogon opt]# which enable        #which找不到内部命令
/usr/bin/which: no enable in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@bogon opt]#


[root@bogon opt]# cp /usr/bin/cp /usr/local/bin/
[root@bogon opt]# ls /usr/local/bin/
cp
[root@bogon opt]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@bogon opt]# which -a cp         #-a which命令会将PATH中所有路径一查到底
alias cp='cp -i'
        /usr/local/bin/cp
        /usr/bin/cp
[root@bogon opt]#

 

十三、find-查找文件或目录

1.表现形式

find  【查找范围】  【查找条件表达式】               #采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

2.常用查找条件类型

查找类型关键字说明
按名称查找-name根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找-size

根据目标文件的大小进行查找

一般使用“+”号设置超过或小于指定的大小作为查找条件

常用的容量单位包括kB(注意k是小写)、MB、GB

按文件属主查找-user根据文件是否属于目标用户进行查找
按文件类型查找-type

根据文件的类型进行查找
文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等块设备文件(b):成块读取数据的设备(硬盘,内存,光驱)

字符设备文件(c):按单个字符读取数据的设备(键盘,鼠标)

3.find之exec用法

①-exec参数后面跟的是Linux命令,它是以分号“;”为结束标志,由于各个系统中分号会有不同的

义,因此在分号前面加上反斜杠转义符“\”。

{}代表前面find查找出来的文件名。

②find 命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用 Is -l命令将它们列出

find ./ -type f -exec ls -l {} \;

[root@bogon boot]# find ./ -name "grub*" -type f
./grub2/grubenv
./grub2/grub.cfg
[root@bogon boot]# find ./ -name "grub*" -type f -exec ls -lh {} \;
-rw-r--r--. 1 root root 1.0K 4月   2 20:33 ./grub2/grubenv
-rw-r--r--. 1 root root 4.3K 4月   2 20:33 ./grub2/grub.cfg
[root@bogon boot]#

4.示例

[root@bogon ~]# cd /boot
[root@bogon boot]# ls -l
总用量 141972
-rw-r--r--. 1 root root   153619 6月  28 2022 config-3.10.0-1160.71.1.el7.x86_64
drwx------. 3 root root       17 7月  29 2020 efi
drwxr-xr-x. 2 root root       27 4月   2 20:28 grub
drwx------. 5 root root       97 4月   2 20:33 grub2
-rw-------. 1 root root 81530423 4月   2 20:31 initramfs-0-rescue-d653869e07e04d9eacde1ff02716073b.img
-rw-------. 1 root root 32126971 4月   2 20:33 initramfs-3.10.0-1160.71.1.el7.x86_64.img
-rw-------. 1 root root 14055498 4月   2 20:34 initramfs-3.10.0-1160.71.1.el7.x86_64kdump.img
-rw-r--r--. 1 root root   320652 6月  28 2022 symvers-3.10.0-1160.71.1.el7.x86_64.gz
-rw-------. 1 root root  3622036 6月  28 2022 System.map-3.10.0-1160.71.1.el7.x86_64
-rwxr-xr-x. 1 root root  6777448 4月   2 20:31 vmlinuz-0-rescue-d653869e07e04d9eacde1ff02716073b
-rwxr-xr-x. 1 root root  6777448 6月  28 2022 vmlinuz-3.10.0-1160.71.1.el7.x86_64
[root@bogon boot]# find /boot -name "vmlinuz*"        #根据文件名称查找
/boot/vmlinuz-3.10.0-1160.71.1.el7.x86_64
/boot/vmlinuz-0-rescue-d653869e07e04d9eacde1ff02716073b

[root@bogon boot]# find ./ -size +10M        #根据文件大小查找
./initramfs-0-rescue-d653869e07e04d9eacde1ff02716073b.img
./initramfs-3.10.0-1160.71.1.el7.x86_64.img
./initramfs-3.10.0-1160.71.1.el7.x86_64kdump.img
[root@bogon boot]#

[root@bogon boot]# find /boot -name "*vmlinuz*" -a -size -1000k      #-a表示和
/boot/.vmlinuz-3.10.0-1160.71.1.el7.x86_64.hmac
[root@bogon boot]#


十四、whereis-查找文件或目录

[root@bogon opt]# whereis cp        #查找程序所在位置
cp: /usr/bin/cp /usr/local/bin/cp /usr/share/man/man1/cp.1.gz /usr/share/man/man1p/cp.1p.gz
[root@bogon opt]#

  • 49
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值