目录
一、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 | 根据文件的类型进行查找 字符设备文件(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]#
标签:opt,--,常用命令,Linux,bogon,txt,root,目录
From: https://blog.csdn.net/weixin_68840588/article/details/137471896