目录
操作指令
一.文件与目录操作命令
1.打印工作目录命令
pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。在 不太确定当前位置时,就会使用 pwd 来判定当前目录在文件系统内的确切位置
语法:
pwd【选项】
选项:
选项 | 作用 |
---|---|
-p | 显示出实际路径,而非使用连接。 |
2、目录切换命令
cd 命令可以说是 Linux 中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。
语法:
cd【目录名】
选项:
选项 | 作用 |
---|---|
cd | 返回当前登录用户的家目录 |
cd.. | 返回上级目录 |
cd~ | 返回当前登录用户的家目录 |
cd- | 返回上次跳转到当前目录的目录 |
cd/path | 切换到指定目录 |
实例:
[root@localhost ~]# cd /bin [root@localhost bin]#
[root@localhost bin]# cd .. [root@localhost /]#
[root@localhost /]# cd - /bin [root@localhost bin]#
[root@localhost bin]# cd ~ [root@localhost ~]#
3.目录内容查看命令
ls 命令是 linux 下最常用的命令。ls 命令就是 list 的缩写 缺省下 ls 用来打印出当前目录的清单,如果 ls 指定其他目 录,那么就会显示指定目录里的文件及文件夹清单。 通过 ls 命令不仅可以查看 linux 文件夹包含的文件 而且可以查看 文件权限(包括目录、文件夹、文件权限) 查看目录信息等等。
语法:
ls 【 】 ...【 】...
选项 | 作用 |
---|---|
-a --all | 显示所有文件(包括以.开头的隐藏文件) |
-l | 使用详细列表格式显示文件或目录的详细信息 |
-h, --human-readable | 使用人类可读的格式显示文件大小(例如 1K、2M) |
-r, --reverse | 以相反的顺序列出文件 |
-t | 按照修改时间(最新的文件在前)排序 |
-S | 按照文件大小排序 |
-d, --directory | 显示目录本身,而非目录下的文件列表 |
-i, --inode | 显示每个文件的 inode 号 |
--color=auto | 自动根据文件类型显示不同的颜色 |
-R, --recursive | 递归列出目录及其子目录中的文件 |
实例:
[root@localhost ~]# ls -a /home . .. jugaogao
[root@localhost ~]# ls -l /boot 总用量 139728 -rw-r--r--. 1 root root 153591 10月 20 2020 config-3.10.0-1160.el7.x86_64 drwx------. 3 root root 17 7月 29 2020 efi drwxr-xr-x. 2 root root 27 5月 7 23:38 grub drwx------. 5 root root 97 5月 7 23:57 grub2 -rw-------. 1 root root 79687635 5月 7 23:50 initramfs-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8.img -rw-------. 1 root root 31894847 5月 7 23:57 initramfs-3.10.0-1160.el7.x86_64.img -rw-------. 1 root root 13857528 5月 8 00:01 initramfs-3.10.0-1160.el7.x86_64kdump.img -rw-r--r--. 1 root root 320648 10月 20 2020 symvers-3.10.0-1160.el7.x86_64.gz -rw-------. 1 root root 3616707 10月 20 2020 System.map-3.10.0-1160.el7.x86_64 -rwxr-xr-x. 1 root root 6769256 5月 7 23:50 vmlinuz-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8 -rwxr-xr-x. 1 root root 6769256 10月 20 2020 vmlinuz-3.10.0-1160.el7.x86_64
[root@localhost ~]# ls -lh /boot 总用量 137M -rw-r--r--. 1 root root 150K 10月 20 2020 config-3.10.0-1160.el7.x86_64 drwx------. 3 root root 17 7月 29 2020 efi drwxr-xr-x. 2 root root 27 5月 7 23:38 grub drwx------. 5 root root 97 5月 7 23:57 grub2 -rw-------. 1 root root 76M 5月 7 23:50 initramfs-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8.img -rw-------. 1 root root 31M 5月 7 23:57 initramfs-3.10.0-1160.el7.x86_64.img -rw-------. 1 root root 14M 5月 8 00:01 initramfs-3.10.0-1160.el7.x86_64kdump.img -rw-r--r--. 1 root root 314K 10月 20 2020 symvers-3.10.0-1160.el7.x86_64.gz -rw-------. 1 root root 3.5M 10月 20 2020 System.map-3.10.0-1160.el7.x86_64 -rwxr-xr-x. 1 root root 6.5M 5月 7 23:50 vmlinuz-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8 -rwxr-xr-x. 1 root root 6.5M 10月 20 2020 vmlinuz-3.10.0-1160.el7.x86_64
[root@localhost ~]# ls -t /boot initramfs-3.10.0-1160.el7.x86_64kdump.img symvers-3.10.0-1160.el7.x86_64.gz grub2 vmlinuz-3.10.0-1160.el7.x86_64 initramfs-3.10.0-1160.el7.x86_64.img config-3.10.0-1160.el7.x86_64 vmlinuz-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8 System.map-3.10.0-1160.el7.x86_64 initramfs-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8.img efi grub
[root@localhost ~]# ls -S /boot initramfs-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8.img vmlinuz-3.10.0-1160.el7.x86_64 grub2 initramfs-3.10.0-1160.el7.x86_64.img System.map-3.10.0-1160.el7.x86_64 grub initramfs-3.10.0-1160.el7.x86_64kdump.img symvers-3.10.0-1160.el7.x86_64.gz efi vmlinuz-0-rescue-1c126a3c8a2d42358f3c67adb83aa1a8 config-3.10.0-1160.el7.x86_64
4、文件查看命令
4.1、cat命令
cat 命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者 从标准输入读取内容并显示,它常与重定向符号配合使用
语法:
cat【选项】 【文件】...
功能:
1.一次显示整个文件:cat filename
2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件:cat file1 file2 > file3
4.追加内容到指定文件
[root@www ~]# cat <<e >> 3.txt >1 >2 >e
重定向符号:
1.正确重定向
##覆盖重定向 >
##追加重定向 >>
2.错误重定向
##覆盖重定向 2>
##追加重定向 2>>
3.混合重定向
##覆盖重定向 &>
##追加重定向 &>>
选项:
选项 | 作用 |
---|---|
-n | 显示行号。 |
-v | 显示不可打印的字符。 |
-e | 在输出的行尾添加制表符和换行符。 |
-b | 在输出的行尾添加空格而不是制表符和换行符。 |
-A | 类似于 -v 和 -e,但只显示不可打印的字符和行尾的空格。 |
-t | 仅显示每行的第一个非空格字符。 |
-f | 按行分割文件,并将每一行分别发送到标准输出。 |
-l | 仅显示当前行的行号。 |
-r | 在输出的行尾添加回车符和换行符。 |
-s | 在连续的空白字符中输出一个空格。 |
实例:
[root@localhost ~]# cat -n 3.txt 1 123 2 456 3 789
[root@localhost ~]# cat -ne 3.txt 1 123$ 2 456$ 3 789$
4.2、more命令
用于逐页查看文本文件内容的命令。当需要查看大型文件时,more 命令能够按页显示文件内容,允许用户逐页浏览 文件内容。
语法:
more 【选项】 【文件名】
选项:
选项 | 作用 |
---|---|
空格键 | 向下翻动一页 |
Enter键 | 向下翻动一行 |
q | 退出 more 命令 |
/pattern | 在文件中搜索指定的模式(pattern) |
:n | 跳转到第 n 行 |
:f | 显示文件名和当前行号 |
4.3、less命令
看文本文件内容的命令,类似于 more 命令,但提供了更多的功能和操作选项。less 命令可以让用户在文件中进行搜 索、前后翻页、跳转到指定行等操作。
语法:
less 【选项】 【文件名】
操作:
操作 | 作用 |
---|---|
空格键 | 向下滚动一屏 |
Page Up 或 b | 向上滚动一屏。 |
Page Down 或 空格键 | 向下滚动一屏 |
/pattern | 在文件中搜索指定模式(pattern)。 |
n | 找到下一个匹配的搜索结果。 |
N | 找到上一个匹配的搜索结果。 |
g | 跳转到文件的起始处。 |
G | 跳转到文件的末尾。 |
q | 退出 less 命令。 |
4.4、head命令
head 命令用于显示文件的开头部分,默认情况下显示文件的前 10 行内容。head 命令在查看文件的头部信息时非常 有用,尤其适合用于快速查看文件的开头几行内容。
语法:
head 【选项】 【文件名】
管道符:
将前一命令的结果作为后一命令的输入进行再次处理;相当于流水线工作。
[root@www ~]# cat -n anaconda-ks.cfg | head -1
实例:
[root@localhost ~]# cat -n 3.txt | head -1 1 123
选项:
选项 | 作用 |
---|---|
-q | 隐藏文件名 |
-v | 显示文件名 |
-c(字符) | 显示字节数 |
-n(行数) | 显示的行数 |
4.5、tail命令
tail 命令用于查看文件的尾部内容,默认情况下显示文件的最后 10 行。tail 命令在查看日志文件或需要关注文件末尾 信息时非常有用。。使用 tail -f 选项可以实时监控文件的变化,这对于监控系统日志或等待文件尾部的特定信息非常 方便
语法:
tail 【选项】 【文件名】
选项:
选项 | 作用 |
---|---|
-f | 循环读取 |
-q | 不显示处理信息 |
-v | 显示详细的处理信息 |
-c<数目> | 显示的字节数 |
-n<行数> | 显示行数 |
4.6、nl命令
nl 命令是 Linux 和类 Unix 系统中的一个用于将文本文件中的行号添加到内容的命令。它主要用于向文本文件中的每 一行添加行号,便于阅读和查找
语法:
nl [options] [file]
选项:
选项 | 作用 |
---|---|
-b | 指定要将行号添加到的行 |
-b a | 添加行号到非空行 |
-b t | 添加行号到所有行 |
-b n | 不添加行号到任何行。 |
-n | 设置行号的开始值。 |
-w | 指定行号字段的宽度。 |
-s | 设置行号与文本之间的分隔符 |
实例:
1.将行号添加到文件中的所有行,并将行号输出到标准输出:
[root@localhost ~]# nl 3.txt 1 123 2 456 3 789
2.将行号添加到文件中的非空行,并使用制表符作为分隔符:
[root@localhost ~]#nl -b a -s $'\t' 3.txt
3.将行号添加到文件中的所有行,从指定的行号开始:
[root@localhost ~]#nl -n 100 3.txt
4.设置行号字段的宽度为 3 个字符,并将行号添加到所有行:
[root@localhost ~]# nl -w 3 3.txt 1 123 2 456 3 789
5、创建目录命令
mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当 前目录中已有的目录。如果需要创建多级目录,可以使用通配符 * 或多个目录名。还支持使用{}来进行创建多个目 录
语法:
mkdir 【选项】目录名
选项:
选项 | 作用 |
---|---|
-p | 递归创建目录,如果父目录不存在也会创建。 |
-m | 设置新目录的权限。 |
-v | 显示详细信息,包括正在创建的目录和已使用的文件系统类型。 |
6、创建文件命令
stat
查看文件的时间戳: stat 文件名称
[root@localhost ~]# stat 3.txt 文件:"3.txt" 大小:12 块:8 IO 块:4096 普通文件 设备:fd00h/64768d Inode:100939144 硬链接:1 权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root) 环境:unconfined_u:object_r:admin_home_t:s0 最近访问:2025-05-12 14:51:26.248049528 +0800 最近更改:2025-05-12 14:51:05.386599615 +0800 最近改动:2025-05-12 14:51:05.386599615 +0800
6.1、touch命令
用于创建一个新的空文件或修改现有文件的时间戳。它的全称是 "touch file",即触摸文件。
语法:
touch 【选项】 ...【文件】...
选项:
选项 | 作用 |
---|---|
-a 或 --time=access | 如果文件不存在,创建一个新文件。同时更新访问时间和修改时间 |
-m 或 --time=modify | 仅更新文件的修改时间 |
-t 或 --time=date | 使用指定的日期和时间更新文件的访问和修改时间 |
6.2、echo命令
用于在终端输出指定的文本内容。
语法:
echo [选项] 文本内容
选项:
选项 | 作用 |
---|---|
-n | 在输出内容后不换行。 |
-e | 启用转义字符的解析。“"转义符号;\n:换行;\r:回车;\t:水平制表符(tab) |
案例:
[root@localhost ~]# echo 112233 > 3.txt [root@localhost ~]# cat 3.txt 112233
7、文件或目录复制命令
cp命令用来复制文件和目录的命令
语法:
cp【选项】 原文件 目录
选项:
选项 | 作用 |
---|---|
-i(交互式) | 如果在目标位置存在一个文件且该文件会 被覆盖时,cp命令会询问用户是否继续 |
-n(不覆盖) | 在目标位置存在文件时,不会覆盖该文件,即不会进行复制操作 |
-r或-R(递归) | 用于复制目录以及目录内所有子目录和文件。 |
-p(保留属性) | 复制文件的同时保留源文件的属性如权限和时间戳 |
-v(详细模式) | 显示详细的复制过程信息 |
实例:
[root@localhost ~]# cp -r 3.txt /opt [root@localhost ~]# ls /opt 3.txt rh
8、文件或目录移动命令
mv命令用来移动文件或目录,或者重命名文件和目录的命令。
语法:
mv【选项】 原文件 目录
选项:
选项 | 作用 |
---|---|
-i(交互式) | 如果移动或重命名目标位置已存在且会覆盖时,mv 命令会询问用户是否继续。 |
-n(不覆盖) | 在目标位置存在文件时,不会覆盖该文件,即不会进行移动或重命名操作。 |
-v(详细模式) | 显示详细的移动或重命名过程信息。 |
实例:
[root@localhost ~]# mv 3.txt /opt [root@localhost ~]# ls /opt 3.txt rh
9、文件或目录删除命令
rm命令用于删除文件的命令。它的全称是 "remove",意思是 "删除"
语法:
rm 【选项】 文件....
选项:
选项 | 作用 |
---|---|
-i 或 --interactive | 在删除之前,显示每个文件是否确认删除。 |
-f 或 --force | 强制删除,即使文件正在被使用,或者存在打开的文件描述符。 |
-r 或 --recursive | 递归地删除目录及其内容。 |
-v 或 --verbose | 详细模式,显示删除的每个文件。 |
10.别名命令
用于创建或显示当前目录下的别名。别名是一种用户定义的命令或函数,可以用来简化复杂的命令序列。使用unalias name可以删除一个别名
语法:
alias 【选项】 名字=命令
选项:
选项 | 作用 |
---|---|
-p | 显示当前目录下的所有已定义的别名列表 |
11、文件属性查看命令
stat 命令是 Unix 和 Linux 系统中的一个实用程序,用于显示关于文件的状态信息。stat 命令提供比 ls -l 更详细的文 件信息,包括文件的大小、创建时间、最后访问时间、最后修改时间等。
语法:
stat 【选项】 文件
选项:
选项 | 作用 |
---|---|
-c 或 --format | 指定输出信息的格式。 |
-f 或 --file-system | 显示文件系统级别的。 |
-t 或 --terse | 以更紧凑的方式显示输出信息。 |
--all 或 -a | 显示所有可用的信息。 |
--dereference | 跟随符号链接。 |
12、目录结构查看命令
tree 命令是一个用于以树状结构显示目录及其内容的实用程序,常用于显示文件系统的层次结构。tree 命令会递归地 列出指定目录下的所有子目录和文件,并以树的形式展示它们之间的关系。
语法:
tree 【选项】 【目录】
选项:
选项 | 作用 |
---|---|
-L | 指定要显示的层级深度。 |
-d | 只显示目录,不显示文件。 |
-f | 显示完整路径。 |
-a | 显示所有文件和目录,包括隐藏的 |
-l | 排除符合模式的文件或目录 |
实例:
[root@localhost ~]# tree 3.txt 3.txt [error opening dir] 0 directories, 0 files
13、dd命令
用于复制文件和转换数据。它用于将源文件复制到目标文件,或者用于在目标文件上进行数据转换。
语法:
dd 【选项】 【输出选项】 【输入选项】
选项:
选项 | 作用 |
---|---|
if=filename | 指定输入文件。 |
of=filename | 指定输出文件。 |
bs=size | 指定块大小。 |
count=num | 指定要复制的块数 |
conv=参数 | 进行数据转换,例如tec进行techeus格式转换,auto允许尽可能多的转换(这对于大量数 据是安全的)。 |
skip=num | 跳过第一个num块。 |
status=progress | 显示进度信息。 |
实例:
[root@localhost ~]# dd of=3.txt if=2.txt 记录了0+1 的读入 记录了0+1 的写出 9字节(9 B)已复制,0.00132968 秒,6.8 kB/秒
14、链接命令
ln 命令用于在文件系统中创建链接(links)。链接分为两种类型:硬链接(hard link)和符号链接(symbolic link)。
硬链接(hard link):(目录不允许创建硬链接)
硬链接是文件系统中的一个目录条目,它指向另一个文件的数据块。
硬链接和原始文件共享同一个 inode,因此对文件的修改会影响到所有硬链接。
硬链接不能跨越文件系统边界。
符号(软)链接(symbolic link):
符号链接是一个特殊的文件,其内容是指向另一个文件的路径。
符号链接和原始文件不共享 inode,因此删除原始文件后,符号链接仍然存在,但无法访问。
符号链接可以跨越文件系统边界。
语法:
ln 【选项】 原文件 目标目录
选项:
选项 | 作用 |
---|---|
-s 或 --symbolic | 创建符号链接而不是硬链接。 |
-f 或 --force | 如果目标文件已存在,则覆盖它。 |
-i 或 --interactive | 在覆盖目标文件之前询问用户。 |
-p 或 --preserve | 保留源文件的属性,如权限和时间戳。 |
实例:
[root@localhost ~]# ln 2.txt /opt [root@localhost ~]# ls /opt/2.txt /opt/2.txt [root@localhost ~]#echo 22 >> 2.txt [root@localhost ~]# cat /opt/2.txt 11 22 33 22 [root@localhost ~]# cat 2.txt 11 22 33 22
15、file命令
在UNIX和Linux系统中, file 命令用于确定文件的类型或属性。它可以提供有关文件的内容、文件系统类型、文件权 限等信息。
语法:
file 【选项】 文件名
选项:
选项 | 作用 |
---|---|
-b | 以二进制形式输出文件类型信息。 |
-f | 仅显示文件类型,不显示其他信息 |
-i | 以人类可读的格式显示文件类型。 |
-L | 对符号链接进行特殊处理,查看链接指向的真实文件。 |
实例:
[root@localhost ~]# file -b 2.txt ASCII text
ASCll可显示字符