三、基础命令全解
【1】、ls命令
查看folder and file
-
使用方法:
Usage: ls [OPTION]... [FILE]...
-
常用选项
- -a:显示目录下所有的内容,包括隐藏内容
- -l:以长格式显示目录下的内容以及详细信息
- -h:以人性化显示目录下各个文件的大小(KB、MB、GB)
- -d:仅显示目录本身而不显示内部的文件
- -i:查看iNode号(系统任何的文件和目录都有一个唯一的编号)
- -R:递归地查看目录下所有的内容(从头到尾)
【2】、mkdir命令
-
mkdir [option] 路径 (也可以是目录)
[root@bogon home]# mkdir aaa [root@bogon home]# ll 总用量 900 drwxr-xr-x. 2 root root 6 11月 7 09:30 aaa
-
option
-
-p:递归创建多个目录
[root@bogon home]# mkdir -p /home/aaa/bbb/ccc
-
-
可以在多个不同目录下同时创建不同的目录,分别在/home目录下,/opt目录下,根目录下同时创建了不同的文件夹
[root@bogon /]# mkdir /home/a /opt/he /den
【3】、cd命令
cd [option] [folder name] Change the shell working directory.
folder name可以是绝对路径或者相对路径,如果不指定路径名,则默认进入当前用户的家目录
-
路径
-
绝对路径
以 /(根目录)为起点,到达指定地方
-
相对路径
以当前路径为起点,到达指定地方
-
-
cd commen的快捷操作
- ~:表示当前用户的家目录
- .:表示为当前目录
- ..:表示返回上一级目录,如果当前在根目录下,cd ..没有作用
- -:可在两个路径之间来回切换
【4】、pwd命令
pwd [-LP] Print the name of the current working directory
执行pwd后显示当前所在的工作目录的绝对路径
【5】、touch命令
创建新的空白文件
touch [option] filename
【6】、cp命令
复制文件或者目录,
cp [option] source destination
-
option
-
-p:保留原文件属性不变(修改时间、归属关系、权限)
也就是在复制时同时复制source file的属性
-
-r:复制目录(包含目录下所有的子目录和文件),也就是递归复制
-
-
可以同时拷贝多个文件
-
可以在复制是修改文件或者目录的名字,把ag这个文件复制到根目录下并且改名为aa
[root@bogon bbb]# cp ./ag /aa
-
如果重复拷贝一同同样的目录到一个同样的destination,会给出info,提示你是否需要覆盖。如果source folder是empty,则不会给出info
【7】、mv命令
移动folder 或者 file到其他位置
mv [option] source destination_path
-
可以理解为剪切
移动完成后当前目录没有了,去了新的path下
-
可以重命名
[root@bogon home]# mv pig.txt big.txt
-
单个文件或文件夹的移动,将文件从一个目录移动到另外一个目录
[root@bogon 抖音神曲]# mv a.txt /home/aaa/ [root@bogon aaa]# ll 总用量 0 -rw-r--r--. 1 root root 0 11月 7 17:06 a.txt drwxr-xr-x. 3 root root 17 11月 7 09:34 bbb [root@bogon aaa]# ll ../抖音神曲/ 总用量 0 -rw-r--r--. 1 root root 0 11月 7 17:06 b.txt -rw-r--r--. 1 root root 0 11月 7 17:06 c.txt
【8】、cat命令
查看文本文件的内容
cat [option] filename
-
option
- -n:查看文件内容时显示行号
-
查看系统的用户信息有哪些
[root@bogon opt]# cat /etc/passwd
-
查看软件的配置文件
[root@bogon opt]# cat /etc/nginx/nginx.conf
-
cat可以读取多个文件,依次显示1和2的内容
cat filename1 filename2
-
注意事项
cat命令是一次性把文件内容读出来,即使文件中有书十万条数据,也是全部显示,这个是很不合理的,因此cat不适合查看大文件,但是也不是完全不可以查看大文件,需要和其他命令搭配使用
【9】、less命令
对文件的输出进行分页显示的工具,常用于查看内容量较大的文件
less [option] file
- option
- -N:以行号形式显示文件内容
- 使用技巧
- 使用键盘的上下方向键逐行查看
- pgdn:向下翻一页(Fn+下键)
- pgup:向上翻一页(Fn+上键)
- /字符串
- G:直接跳到文件的最后一行
- gg:直接跳转到文件的首行
- :1000:精准定位到某一行
- q:推出
【10】、head命令
head:显示文件的开头部分内容,默认显示开头前10行
- option
- -n:显示开头n行
【11】、tail命令
显示文件的末尾,默认显示文件末尾10行
- option
- -n:指定显示的行数
- -f:动态显示,tail命令可以实时检测文件
- 可以用于监测日志,实时检测写入日志的内容
- 不可以实时监测通过vim写入的数据内容,需要使用vim输入完成后保存退出才可以看到
- -F:能够对文件进行刷新,即便文件不存在也可以检测直到文件出现
【12】、cut命令
-
-d:分隔符,按照指定分隔符分割列。与 -f 一起使用
[root@localhost opt]# cut -d : -f 1 /etc/passwd > /tmp/passwd [root@localhost opt]# cut -d : -f 1 /etc/sh > /tmp/passwd shadow shadow- shells [root@localhost opt]# cut -d : -f 1 /etc/shadow > /tmp/shadow [root@localhost opt]# diff /tmp/passwd /tmp/shadow [root@localhost opt]#
-
-f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列)
-
-c:以字符 (characters) 的单位取出固定字符区间
-
-b:以字节为单位进行分割
【13】、rm命令
-
用于删除文件或目录
[root@bogon bbb]# rm wanjai1.log rm: remove regular empty file ‘wanjai1.log’? y [root@bogon bbb]# rm wanjai2.log wanjai3.log rm: remove regular empty file ‘wanjai2.log’? yes rm: remove regular empty file ‘wanjai3.log’? yes
-
optioon
-
-f:强制删除,强制删除文件不去提示
[root@bogon bbb]# rm -f wanjai{4..10}.log [root@bogon bbb]# ll
-
-r:删除目录
使用-rf参数, [root@bogon bbb]# rm -rf ./亚索 [root@bogon bbb]# ll
-
rm -rf /*
删除Linux中的所有文件,也就是删库跑路,不要用,不要用,不要用,不要用,不要用
-
-i:删除前需要确认
-
【14】、wc命令
-
word cont 统计字符
-
在UTF-8编码表下 中文占3个字节,英文占1个字节
-
wc -l filename 统计文件有多少行
[root@xuruizhao opt]# wc -l /etc/passwd 43 /etc/passwd
-
wc -w filename 统计文件中的字母数(根据字符个数来判断是不是字母)
-
wc -c 内容 统计有多少个字节
-
在每一行后面会有一个$符,统计时会将$也算进去,所以会比输入的多1
[root@xuruizhao opt]# wc -m ./test 3 ./test [root@xuruizhao opt]# cat ./test 你好
-
【15】、find命令
实时查找,一般首先使用locate命令去进行查找,在使用find命令去查找,因为find命令是实时查找,耗费资源。
1、-name参数
find 位置 -name filename ### 在address位置下查找filename文件
[root@bogon opt]# find / -name gushi.txt ### 在根目录下查找文件
/opt/gushi.txt
模糊搜索:使用通配符进行搜索
常见的压缩包文件后缀:.tat .tgz .zip .tar.gz
使用find查找所有压缩的文件
find / -type f -name "*.tar" -o -name "*.tgz" -o -name "*.zip" -o -name "*.tar.gz"
通过find命令进行通配符的查找时,尽量加上引号(单引号、双引号均可)
2、-type
-type f 找文本文件
-type F 找目录
-type l 找链接
find 位置 -type f -name filename
根据这个命令就可以区分出文件和文件夹了
3、-exec参数
和xargs命令一样,都是将前面命令得到的内容传递给-exec在进行处理,-exec是find命令提供的参数,在执行删除命令时,比xargs更安全
在使用-exec时需要在命令的末尾加上';'使用{}表示find命令查找到的数据
⚠️find命令在查找时,是查找到一个就把查找到的内容传递给{},进行二次加工,而不是在find查找完成后一次性将所有查找到的数据给{},在进行二次加工
[root@bogon opt]# touch {1..10}.txt
[root@bogon opt]# find . -name '*.txt' -exec rm -rf {} \;
4、-OK参数
和-exec参数一样,只不过是-OK多了一个确认的过程
5、根据时间查找
find . -name 'filename' -mtime(或者atime、ctime) +3(几天前)/-3(几天内)/3(前几天)
touch -d 修改后的时间 -m/-a/-c filename 去修改文件对应的时间
# 查找三个月前的数据
find /etc -mtime +90
# 查找最近十天之内的数据
find /etc -mtime -10
6、-o参数
-o是或者的意思
-o可以实现查找多个文件名
也可以实现多个参数,进行或者查找,满足其中一个条件即可
# 查找address目录下filename或者filename2或者filename3的文件
find address -name 'filename' -o 'filename2' -o 'filename3'
# 查找/boot目录下大小等于10M或者是文本文件的文件
find /boot -size 10M -o -type f
7、-l参数
-l参数:过滤出来的内容只显示文件名
[root@bogon opt]# grep -Rlni 'password' /var/log
/var/log/audit/audit.log.2
/var/log/audit/audit.log.1
/var/log/audit/audit.log
/var/log/messages-20231105
/var/log/anaconda/anaconda.log
/var/log/anaconda/syslog
/var/log/anaconda/journal.log
/var/log/messages-20231127
/var/log/boot.log-20231124
/var/log/messages-20231113
/var/log/boot.log-20231119
/var/log/boot.log-2023113
8、-maxdepth
find / -maxdepth number -type f 'filename'
从根目录开始搜索深度为number的目录层级
-maxdepth参数:以用户给定的位置为起点,给搜索设定最深搜索层级
9、-perm参数
使用-perm参数可以按照文件的权限去进行搜索
find / -perm 777
[root@bogon ~]# find /opt -perm 777
/opt/cmatrix-1.2a
10、-size
找出大小超过20MB的压缩包
find / -type f -size +20M -name "*.tar"
-20M ##小于20MB
20M ##等于20MB
11、-user
按照数据的所有者进行查询
find /boot -user root
【16】、locate命令
locate是进行索引查找,他的查找是存在延迟的,比方说我们刚刚创建的一个文件使用locate命令是不能立刻查找出来的,
locate的索引在/var/lib/mlocate/mlocat.db数据库中,Linux的数据库默认是在0点去更新,只有在更新数据库后才可以使用locate命令去查找出来
我们也可以使用undatedb去强制更新数据库更新后也可以查出
标签:opt,文件,log,基础,命令,Linux,bogon,root,find
From: https://www.cnblogs.com/xuruizhao/p/18277013