(pwd,cd,ls,find,mkdir,rmdir,rm,touch,mv,cp,stat,type,file,which,whereis)

pwd 命令

1
2
查看当前路径命令
pwd

cd命令

切换目录命令

1
2
切换到根路径
cd /
1
2
切换到当前用户家目录
cd ~
1
2
回到上次离开的路径
cd -
1
2
回到上层目录
cd ../
1
2
回到上上层目录
cd ../../
1
2
去当前路径下dir01目录
cd ./dir01

ls命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
查看文件权限信息命令
[root@myserver centos]# ls -l
总用量 8
-rw-rw-r--. 1 centos centos 17 11月 23 14:48 vimtest
drwxr-xr-x. 2 centos centos 6 11月 22 17:40 公共
drwxr-xr-x. 2 centos centos 6 11月 22 17:40 模板
drwxr-xr-x. 2 centos centos 6 11月 22 17:40 视频
drwxr-xr-x. 2 centos centos 6 11月 22 17:40 图片

drwxr-xr-x 代表是文件7类型和相应的权限信息
第一位: 当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
后面九位是权限信息位: r 代表读;w 代表写;x 代表执行;- 代表当前位没有配置相应权限
最前面三位代表是这个用户的拥有者的权限
中间三位代表是组拥有的权限
最后三位是其他用户拥有的权限
`2 `分两种情况,若是目录则代表它下面有几个子目录,若是文件代表它有多少个硬链接(副本数)

第一个centos 代表这个文件的属于哪个用户
第二个centos 代表这个文件属于哪个组
`-`文件的数值2001 代表文件大小
最后一次修改日期
文件名
1
2
3
查看名为file的文件信息
ls -l file
-rwxrw-r-- 1 mike admin 320 5月 16 9:58 file
1
2
只查看目录的权限
ls -d /etc
1
2
查看文件selinux标签信息
ls -lZ /etc
1
2
查看隐藏文件
ls -la /etc

find命令

find命令是Linux系统中一个非常强大的文件查找工具,它可以在指定目录下搜索符合条件的文件和目录

基本语法格式为:find [路径] [表达式]

其中,路径可以是绝对路径或相对路径,表达式是用来描述要查找的文件或目录的特征。

常用的表达式包括:

-name:按照文件名查找;

-iname:忽略大小写按照文件名查找;

-type:按照文件类型查找,如f表示普通文件,d表示目录等;

-mtime:按照修改时间查找,+n表示n天之前,-n表示n天以内,n表示刚好多少天;

-size:按照文件大小查找,+n表示大于n字节的文件,-n表示小于n字节的文件,n表示数字;

-user:按照文件所有者查找;

-group:按照文件所属组查找;

-perm:按照文件权限查找;

-exec:对找到的文件执行指定的命令。

1
2
在当前目录下查找所有以.txt结尾的文件
find . -name "*.txt"
1
2
在/home目录下查找所有最近7天内被修改过的文件
find /home -mtime -7
1
2
在/var目录下查找所有大小超过1MB的文件
find /var -size +1M
1
2
找到根下块设备文件 并且把它copy到/tmp路径下 注意copy保留权限信息不变
find / -type b -exec cp -a {} /tmp \;

选项 时间范围 数学表示 示例(今天为 2023-10-20)

-mtime +7 修改时间 ≥8 天前 mod_time ≤ (now - 8*24h) 匹配 2023-10-12 及更早的文件

-mtime 7 修改时间 =7 天(精确第7天) mod_time = (now - 7*24h) 仅匹配 2023-10-13 当天修改的文件

-mtime -7 修改时间 <7 天内 mod_time > (now - 7*24h) 匹配 2023-10-13 至今的文件

mkdir命令

mkdir命令是创建目录的命令,mkdir [选项] [目录]

1
2
3
4
mkdir dirname

要创建多级目录
mkdir -p dir01/dir001/dir002

rmdir命令

rmdir命令是删除目录的命令,删除命令的时候必须确保目录为空才能正常删除

1
rmdir dirname

rm命令

rm命令是删除文件和目录的命令,

以下是一些常见的rm命令参数及其作用:

-r或-R:递归删除目录及其子目录下的所有文件和子目录。

-f:强制删除,忽略不存在的文件,不会显示错误信息。

-i:交互式删除,每个文件或目录删除前都会先询问用户是否确定删除。

-v:显示详细的操作过程。

–preserve-root:不允许使用绝对路径来删除当前根目录下的文件或目录。

–help或–version:显示帮助信息或版本信息并退出。

1
2
常用命令参数,删除目录
rm -r dir
1
2
删除文件
rm file
1
2
交互方式删除文件
rm -i file
1
2
强制删除不交互 -f
rm -f file
1
2
删除目录
rm -rf dir

touch命令

1
2
touch 命令是创建一个空文件
touch file
1
2
touch oldfile
更新oldfile的mtime atime信息 刷新文件的修改日期和访问日期

mv命令

文件或者目录移动命令/文件或者目录重新命名命令

mv [options] source dest

1
2
把当前file1文件 移动到/tmp下
mv file1 /tmp
1
2
给file1重新命名为newfile
mv /tmp/file1 /tmp/newfile
1
2
3
移动家目录下dir01目录到/tmp下
mv ~/dir01 /tmp/
移动的时候 不会覆盖目标目录 也就是不会重命名目标目录
1
2
给/tmp/dir01重新命名为dir
mv /tmp/dir01 /tmp/dir

cp命令

cp命令是复制文件和目录的命令:cp [选项] 源文件或目录 目标文件或目录

1
2
复制的时候保留源文件的权限信息
cp -a test02.yml /tmp
1
2
复制目录
cp -r dir01/ /tmp
1
2
复制文件
cp file /tmp

stat命令

stat 命令查看文件元数据信息:

stat命令在Linux系统中被广泛应用,它的主要功能是显示文件或文件系统的详细信息。与ls命令相比,stat命令的输出信息更加详细,可以查看文件的诸如atime, mtime, ctime等时间信息,同时还可以看到设备号和环境等信息。

1
2
3
4
5
6
7
8
9
10
[root@myserver ~]# stat anaconda-ks.cfg
文件:"anaconda-ks.cfg"
大小:1660 块:8 IO 块:4096 普通文件
设备:fd00h/64768d Inode:2383211 硬链接:1
权限:(0600/-rw-------) Uid:( 0/ root) Gid:( 0/ root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2023-11-30 10:40:46.000000000 +0800
最近更改:2023-11-24 11:45:57.000000000 +0800
最近改动:2023-11-30 10:54:44.696926377 +0800
创建时间:-

type命令

type命令在Linux系统中被广泛应用,它的主要功能是显示指定命令的类型,判断给出的指令是内部指令还是外部指令。具体来说,type命令可以识别的命令类型包括:alias(别名),keyword(关键字,即Shell保留字),function(函数,也就是Shell函数),builtin(内建命令,即Shell内建命令),file(文件,磁盘上的外部命令),以及未找到的情况。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type ls
ls 是 `ls --color=auto' 的别名

type for
for 是 shell 关键字

type pwd
pwd 是 shell 内嵌

type yum
yum 是 /usr/bin/yum

type which
which 是 `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 的别名

type watch
watch 已被哈希 (/usr/bin/watch)

file命令

file命令被广泛应用于识别和判断文件的类型。

它通过查看文件的头部信息来确定文件类型,而不是像Windows系统那样依赖于扩展名。

file命令的执行过程分为三个阶段:文件系统检查、魔法数字检查和语言检查。其中,文件系统检查是检查文件是否存在;魔法数字检查是根据文件头中的特定字节序列来确定文件类型;语言检查则是根据文件的内容来判定文件类型。

file命令的基本语法格式为:file [选项] 文件...。其中,”选项”代表可选参数,而”文件”则是指定要确定类型的一个或多个文件,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

1
2
3
查看压缩文件文件类型
file passwd.xz
passwd.xz: XZ compressed data
1
2
3
查看命令的文件类型
file /usr/bin/ls
/usr/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c5ad78cfc1de12b9bb6829207cececb990b3e987, stripped
1
2
3
4
5
6
7
8
9
10
11
查看目录下文件的类型
file dir/*
dir/baidu.com: ASCII text
dir/dir: directory
dir/file: empty
dir/file~: empty
dir/file1: empty
dir/file2: empty
dir/File.cfg: ASCII text
dir/File.cfge: ASCII text
dir/passwd: ASCII text
1
2
3
4
5
6
查看链接文件的文件类型
file -L /etc/pam.d/smartcard-auth
/etc/pam.d/smartcard-auth: ASCII text

ll /etc/pam.d/smartcard-auth
lrwxrwxrwx. 1 root root 17 11月 22 17:34 /etc/pam.d/smartcard-auth -> smartcard-auth-ac

which命令

which命令的主要功能是在环境变量$PATH设置的目录里查找符合条件的文件。更具体来说,which命令会在PATH变量指定的路径中搜索某个系统命令的位置,并且返回第一个搜索结果。这就允许用户查看某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

1
2
3
4
5
6
which ls
alias ls='ls --color=auto'
/usr/bin/ls

which yum
/usr/bin/yum

whereis命令

whereis命令的主要功能是定位一个指定”命令”的二进制文件、源文件、手册文件的位置。它只会在特定的目录中查找原始代码、二进制文件或帮助文件。这些文件通常包括程序的二进制可执行文件、源代码文件以及帮助手册页。

1
2
3
4
5
6
7
8
whereis yum
yum: /usr/bin/yum /etc/yum.conf /etc/yum /usr/share/man/man8/yum.8

whereis pwd
pwd: /usr/bin/pwd /usr/share/man/man1/pwd.1.gz /usr/share/man/man1p/pwd.1p.gz

whereis systemctl
systemctl: /usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz