Linux 思想和基础命令
导图
windows:图形化的操作界面
linux:命令操作界面
一.linux哲学思想
-
-
系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
-
当遇到复杂任务,通过不同功能用途的程序组合起来完成。 轻量级,一台服务 dhcp ip 数据库服务 网页
-
避免令人困惑的用户界面就是没有复杂的图形界面。
-
1 root #表示用户
2 localhost #主机名
3 ~ #家目录 一定要和用户相对应 一个用户的家,用户在这个文件夹中有 至高无上的权利
4 # #管理员用户
5 $ #普通用户
6 root #root的家目录
7 opt #opt目录
#关机命令:
1、halt #立刻关机
2、poweroff #立刻关机
3、shutdown -h now #立刻关机(root用户使用)
4、shutdown -h 10 #10分钟后自动关机
#重启:
reboot
init6
shutdown -r now
#修改语言
修改LANG变量实现中文语言提示
[root@localhost ~]# LANG=zh_CN.UTF-8 #中文
[root@localhost ~]# echo $LANG
zh_CN.UTF-8
[root@localhost ~]# LANG=en_US.UTF-8 #英文
[root@localhost ~]# echo $LANG
en_US.UTF-8
#修改颜色
[root@localhost ~]#cd ~
[root@localhost ~]#vim .bashrc
PS1='\[\e[1;34m\][\u@\h \W]\$\[\e[0m\]'
[root@localhost ~]#source .bashrc
#刷新下文件
cat –r 文件名 刷新查看文件
tail –f 文件名
二.linux命令
1.shell
什么是shell
用户和硬件之间的翻译官,(用户使用)高级语言与(硬件使用)机器语言之间的翻译(编译)
1.1 shell定义
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
shell去通知操作系统需要进行什么样的操作(相当于解释层)
shell(解释器的总称)
sh bash nologin tcsh csh ...
bash是linux里面默认的shell程序位于/bin/bash
[root@localhost suoluo]# echo $SHELL //显示当前使用的shell /bin/bash [root@localhost suoluo]# cat /etc/shells //显示当前系统的所有shell /bin/sh /bin/bash /sbin/nologin //不让用户登陆 /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh [root@localhost suoluo]# sh //切换shell sh-4.2# pstree [root@localhost suoluo]# pstree //查看所有使用过的shell环境 .....(过长不显示)
1.3 shell与内部,外部命令
优先级:别名 ---- 内部 ---- shell ----- 外部
(1)shell 分为内部命令 和外部命令,一般先执行内部命令,hash 再执行外部命令(别名最大)
外部命令 | |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 |
2.命令行格式
解释命令字 选项 参数各自的意思及具体使用方法
1. 命令字 是整条命令中最关键的一部分 唯一确定
2. 选项 短格式选项:使用“-”符号引导 通常 一个字母 长格式选项:使用“--”符号引导 通常完整的单词 类 unix 命令 bsd
3. 参数 命令字的处理对象 可以是文件名、目录(路径)名或用户名等内容 个数可以是零到多个
4. ;可以隔开命令,执行多个命令
#.linux命令行辅助操作
自动补齐(两次可以显示所有选项) | |
反斜杠“\” | 强制换行或转义 |
Ctrl+a | 光标移到最前 |
Ctrl+e 或 end 键 | 光标移到最后 |
Ctrl+U | 清空至行首不包括当前光标处的 字符 |
Ctrl+K | 清空至行尾包括当前光标处的字符 |
Ctrl+w | 从当前光标删除到开头 |
ALT+d | 从当前光标删除末尾 |
Ctrl+l | 清屏 |
Ctrl+c | 取消本次命令编辑 |
Ctrl+s/Ctrl+q | 锁屏/解锁 |
向上下箭头 |
3.获取命令帮助
3.1 help
#查看内部命令帮助 [root@localhost ~]# help echo echo: echo [-neE] [参数 ...] 将参数写到标准输出。 在标准输出上显示 ARG 参数后跟一个换行。 选项: -n 不要追加换行 -e 启用下列反斜杠转义的解释 -E 显式地抑制对于反斜杠转义的解释 `echo' 对下列反斜杠字符进行转义: \a 警告(响铃) \b 退格 \c 抑制更多的输出 \e 转义字符 \f 格式提供 \n 换行 \r 回车 \t 横向制表符 \v 纵向制表符 \\ 反斜杠 \0nnn 以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是 0到3个八进制数字 \xHH 以 HH (十六进制)为值的八比特字符。HH可以是 一个或两个十六进制数字 退出状态: 返回成功除非有写错误发生。
3.2 --help
#查看外部命令帮助 [root@localhost ~]# ls --help [root@localhost dev]# useradd --help
3.3 man
man分九个章节默认打开第一章节(menu菜单 manual手册) [root@localhost ~]# whatis ls ls (1) - 列目录内容 1代表第一章手册 ls (1p) - list directory contents 1p 代表开发程序使用 [root@localhost ~]# whatis passwd #可以查看命令的章节 passwd (5) - (文件格式) sslpasswd (1ssl) - compute password hashes passwd (1) - update user's authentication tokens [root@localhost ~]# man 5 passwd #查看第五章内容,第5章一般是配置文件格式详细解释 [root@localhost ~]# man 7 ascii [root@localhost ~]# man 7 UTF-8 [root@localhost ~]# mandb() #生成man数据库,man命令无效时 正在删除 /usr/share/man 里的旧数据库条目... mandb: 警告:/usr/share/man/man8/fsck.fat.8.manpage-fix.gz:忽略错误的文件名 正在处理 /usr/share/man 下的手册页... 正在删除 /usr/share/man/hu 里的旧数据库条目... 正在删除 /usr/share/man/pl 里的旧数据库条目... [root@localhost ~]# man man 该清单是一组用冒号分隔的欲查找的手册清单。此选项将覆盖 MANSECT 环境变量。 有些指令或程序可能有一个以上的主题,它们位于不同的区段中。因此,要查看较后的区 段,你可以在此指定 man 查找区段的顺序。具体区段划分如下所示: 区段1:用户指令 区段2:系统调用 区段3:程序库调用 区段4:设备 区段5:文件格式 shadow passwd fstab 区段6:游戏 区段7:杂项 区段8:系统指令 区段9:内核内部指令 区段n:Tcl或Tk指令
3.4 info
info也可以查看相关的帮助信息 info ls //查看帮助
3.5 百度
百度解决大部分问题
4.目录操作
4.1 查看切换显示统计目录
4.1.1 pwd(print work directory)
[root@localhost ~]# pwd //显示当前路径
/root
[root@localhost ~]# cd /bin
[root@localhost bin]# ll /bin //ls -l别名ll
lrwxrwxrwx. 1 root root 7 8月 31 21:08 /bin -> usr/bin
[root@localhost bin]# pwd -P //显示真实路径
/usr/bin
快捷方式 不是文件真正的路径
[root@localhost opt]#ln -s /opt/suoluo2022/ /mnt/suoluo22 #设置软连接
[root@localhost opt]#cd /mnt/suoluo22/ #切换到软连接
[root@localhost suoluo22]#ls
[root@localhost suoluo22]#pwd #显示的是当前路径
/mnt/k18
[root@localhost suoluo22]#pwd -P #文件的真实路径
/opt/suoluo2022
4.1.2 cd(change directory)
cd 目标位置
文件夹 位置 决定了你能访问的文件
命令 | 效果 |
cd~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 到前一次目录 |
补充 |
|
一个点号“.”开头(自己) | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号“..”开头(上一级) | 表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名”形式开头” | 表示以指定用户的宿主目录(家目录)作为起点 |
"."开头文件 | 表示隐藏文件 |
~suoluo (有个用户叫suoluo家目录为起点) | 表示以指定用户的宿主目录作为起点 |
4.1.3 ls
ls 【选项】 【文件或目录...】
命令 | 效果 |
ll= ls -l | 已长格式显示文件和目录列表 |
ls -a | 显示全部包括隐藏文件 |
ls -A | 显示全部文件或隐藏文件,但不包括 . 和.. |
ls -d | 仅列出目录本身,而不是列出目录内的文件数据 |
ls -h | 友好显示文件大小(human,人性化) |
ls -R | 递归显示该目录及该目录的子目录下的所有内容 |
ls -color | 显示颜色 |
ls -S | 以文件容量大小排序 |
ls -i | indoe号 |
当 ls 命令不使用任何选项时,默认只会显示非隐藏文件的名称,并以文件名进行排序,同时会根据文件的具体类型给文件名配色
4.1.4 通配符
效果 | |
---|---|
? | 匹配一个字符 f?.txt |
* | 匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件 |
{1..10} {0..9} | 1到10 |
{a..z} | a b c ...z |
{A..Z} | A B C .....Z |
[123]([此处括号里值代表一个字符]) | 取其中之一有就显示没有也无所谓 |
[a-z]单个小写字母 | 范围需要注意 |
[0-9]单个数字 | 匹配数字范围(0123456789) |
\ | 转义符,表示原来的意思 |
[[:lower:]] | 小写字母表示 a-z |
[[:upper:]] | 大写字母表示 A-Z |
[^suoluo] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] |
[root@localhost suoluo]# ls -a * //不显示隐藏文件
ky23.txt
luo:
suo:
[root@localhost suoluo]# ls -a //显示隐藏文件
. .. ky23.txt luo suo
[root@localhost suoluo]# ls * // *不包括.开头的
ky23.txt
luo:
suo:
[root@localhost suoluo]# ls .* //包括了 .. 上层目录中的文件
.:
ky23.txt luo suo
..:
anaconda-ks.cfg data initial-setup-ks.cfg ky23 suoluo 公共 模板 视频 图片 文档 下载 音乐 桌面
4.1.5 alias
临时修改,设置命令的别名,以简写命令,提高操作效率
alias 命令别名='命令'
unalias 别名命令 删除别名
\加别名命令 (显示原始命令)
4.1.6 du(disk usage)
说明 | |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s(--summarize) | 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小 |
--max-depth=n (-d 1) | 最大显示到第n层 |
--exclude |
4.2 创建
4.2.1 创建目录mkdir (make directories)
mkdir [选项] 目录位置及名称…
[root@localhost suoluo]# ls luo suo [root@localhost suoluo]# mkdir a b c //创建多个文件夹 [root@localhost suoluo]# ls a b c luo suo [root@localhost suoluo]# mkdir -p aa/bb/cc //递归创建文件夹 [root@localhost suoluo]# ls a aa b c luo suo [root@localhost suoluo]# tree bash: tree: 未找到命令... [root@localhost suoluo]# yum -y install tree //下载tree命令 [root@localhost suoluo]# tree . ├── a ├── aa │ └── bb │ └── cc ├── b ├── c ├── luo └── suo 8 directories, 0 files [root@localhost suoluo]# mkdir -v -p aa/bb/cc mkdir: 已创建目录 "aa" mkdir: 已创建目录 "aa/bb" mkdir: 已创建目录 "aa/bb/cc" [root@localhost suoluo]# tree . ├── aa │ └── bb │ └── cc ├── b ├── c ├── luo └── suo 7 directories, 0 files 选项 作用 -p 递归创建目录 -v 显示过程
4.2.2 硬链接和软链接文件
硬链接:同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接数加一,多路径访问。
软链接:类似于windows里快捷方式,软连接,符号连接,会指向原来的文件ln(link)。
ln [-s] 源文件或目录… 链接文件或目标位置..
加s是软连接 符号连接
硬链接 | 软链接 | |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指向硬盘上的同一个文件) |
硬链接例子 [root@localhost suoluo]# ls aa b c luo suo [root@localhost suoluo]# cd luo [root@localhost luo]# touch 1.txt [root@localhost luo]# vim 1.txt [root@localhost luo]# pwd /root/suoluo/luo [root@localhost luo]# ls 1.txt [root@localhost luo]# ln /root/suoluo/luo/1.txt /root/suoluo/luo/11.txt //创建硬链接 1.txt的链接11.txt [root@localhost luo]# ls //查看luo目录下的文件 11.txt 1.txt [root@localhost luo]# cat 1.txt //查看1.txt内容 abc 123 qwer ln [root@localhost luo]# cat 11.txt //11.txt与1.txt内容一致 abc 123 qwer ln 注意: #建立硬连接 #不能跨分区建立连接 无法对文件夹创建 #删除硬链接可以继续访问硬链接
软链接例子 软链接要加 -s [root@localhost luo]# ls 11.txt 1.txt [root@localhost luo]# ln -s /root/suoluo/luo/1.txt /root/suoluo/luo/22.txt //创建软连接 1.txt的软链22.txt [root@localhost luo]# ls 11.txt 1.txt 22.txt [root@localhost luo]# cat 1.txt abc 123 qwer ln [root@localhost luo]# cat 22.txt abc 123 qwer ln 注意: #删除源文件无法访问,再新建同名文件后依然可以访问 #可以跨设备 #可以支持文件夹 #相对路径与绝对路径 建议绝对路径 ################实际运用#################### 软件版本升级迭代 开发出 app1.0 做软连接 app 如果有 app2.0 就把 软连接app删除 新建app2.0的软连接app
4.2.3 复制
cp [选项]… 源文件 目标 // 相当改名复制
cp [选项]... 源文件... 文件夹 //多个源文件只能复制到文件夹
说明 | |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息包括连接文件 |
-v | 可视化 |
-u | 相当于增备,差异备份 |
-b |
复制例子 [root@localhost luo]# ls 11.txt 1.txt 22.txt [root@localhost luo]# cp -a ./1.txt ./cp1.txt //复制1.txt -a保留所有信息包括链接文件 [root@localhost luo]# ll 总用量 12 -rw-r--r--. 4 root root 16 9月 21 16:11 11.txt -rw-r--r--. 4 root root 16 9月 21 16:11 1.txt # lrwxrwxrwx. 1 root root 22 9月 21 16:29 22.txt -> /root/suoluo/luo/1.txt -rw-r--r--. 1 root root 16 9月 21 16:11 cp1.txt # [root@localhost luo]# ls 11.txt 1.txt 22.txt abc cp1.txt [root@localhost luo]# cd ../ [root@localhost suoluo]# cp -r ./luo ./suo //复制有文件夹 要加-r(递归复制文件) 否则不让复制 [root@localhost suoluo]# cd ./suo [root@localhost suo]# ls 111.txt luo [root@localhost suo]# cd ../ [root@localhost suoluo]# cp -r ./luo ./suo/luo1 //suo文件夹下没有luo1就会改名luo1 [root@localhost suoluo]# cp -r ./luo ./suo/luo1 //suo文件夹下有luo1 luo成为luo1的子文件夹 [root@localhost suoluo]# cp -r ./luo ./suo/luo1 //luo1下有luo,会询是否覆盖 cp:是否覆盖"./suo/luo1/luo/1.txt"? 注意: #复制多个文件必须要是目录,不能是文件,且目录要存在。
4.2.4 移动 or 改名
mv [选项] 源文件或目录 目标文件或目录 单个文件
rename 旧字符 新字符 目标文件 批量改名
批量改名例子 [root@localhost suo]# ls 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt [root@localhost suo]# rename txt txt.bak * //把txt改成txt.bak *该文件夹下所有txt文件 [root@localhost suo]# ls 1.txt.bak 2.txt.bak 3.txt.bak 4.txt.bak 5.txt.bak 6.txt.bak 7.txt.bak 8.txt.bak 9.txt.bak
4.2.5 删除文件
rm [选项] 要删除的文件或目录
选项 | 作用 |
-f | 强制(不询问) |
-i | 交互(会询问是否删除) |
-r | 递归 (删除目录需要) |
[root@localhost ~]# rm -rf / #不要误操作删根 后果应该挺严重的!! [root@localhost ~]# echo * #删根后查看
如何删除特殊文件 [root@localhost ~]# touch ./-f # -开头的文件 [root@localhost ~]# ls [root@localhost ~]# rm -f -f #没有路径,删除不掉 [root@localhost ~]# rm -f ./-f #需要加路径 [root@localhost ~]# touch ./-f [root@localhost ~]# rm -- -f rm:是否删除普通空文件 "-f"?y
######## 应用 ########## 删除后空间不释放 磁盘使用满了以后会造成服务的停止业务受影响,是一个重大的事故 一般来说不会出现删除文件后空间不释放的情况,但是也存在例外。 排错思路: 进程被占用的时候,不会被释放 解决问题:查找占用进程,结束掉 //不建议 tops 可以在开始的时候创建几个没用的大文件,磁盘满时,可以删除这些没用的大文件,可以为加磁盘争取一些周期
4.3 查找
4.3.1 find
命令的特点:
精确查找
实时查找 遍历(慢)
查找路径:指定具体目标路径;默认为当前目录
处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
选项 | 作用 | |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件,常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找,文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
按inode号 | -inum | 根据文件inode号查找 |
按权限查找 | -perm | 按文件权限查找 |
最大搜索目录深度 | -maxdepth level | 将你的文件已分级的形式查找 |
最小搜索目录深度 | -mindepth level | 将你的文件已分级的形式查找 |
按文件类型查找
type | 说明 |
-f | 普通文件 |
-d | 目录文件 |
-l | 符号链接文件 |
-s | 套接字文件 |
-b | 块设备文件 |
-c | 字符设备文件 |
-p | 管道文件 |
-user USERNAME #查找属主为指定用户(UID)的文件 -group GRPNAME #查找属组为指定组(GID)的文件 -uid UserID #查找属主为指定的UID号的文件 -gid GroupID #查找属组为指定的GID号的文件 -nouser #查找没有属主的文件 -nogroup #查找没有属组的文件 -name "文件名称" #支持使用glob,如:*, ?, [], [^],通配符要加双引号引起来 -inum n #按inode号查找 -links n #链接数为n的文件
查找例子 [root@localhost /]# find /root/ -name suoluo //查找名字是suoluo的文件 /root/suoluo [root@localhost suoluo]# find ./ -name "luo*" //查找名字以luo开头的文件 ./luo [root@localhost suoluo]# find /root/suoluo/luo/ -name *.txt //查找以.txt结尾的文件 /root/suoluo/luo/1.txt /root/suoluo/luo/11.txt /root/suoluo/luo/22.txt /root/suoluo/luo/cp1.txt [root@localhost suoluo]# find /mnt -user root //查找用户为root的用户 [root@localhost suoluo]# find -size 1 //查找大小为1k的文件 . ./suo ./luo ./luo/1.txt ./luo/11.txt ./luo/22.txt ./luo/cp1.txt ./luo/abc ./b ./c ./aa ./aa/bb ./aa/bb/cc [root@localhost boot]# find /boot/ -size -10M -a -name "*img" #小于10M 的img文件 [root@localhost etc]# find /etc/ -maxdepth 2 -mindepth 2 #只看第二级目录 [root@localhost opt]# find /boot -d #先显示 文件在显示目录 #找/home 下属于zhangsan的文件并列出属性 [root@localhost opt]# find /home -user zhangsan -ls #找/home 下属于zhangsan的文件并列出属性 [root@localhost opt]# useradd hehe [root@localhost opt]# userdel hehe [root@localhost opt]# ls /home/ hehe mysql zhangsan [root@localhost opt]# ll /home/ 总用量 0 drwx------. 3 1002 1002 78 8月 26 09:27 hehe drwx------. 3 mysql mysql 78 8月 25 11:45 mysql drwx------. 3 zhangsan zhangsan 78 8月 6 20:57 zhangsan [root@localhost opt]# find /home/ -nouser #找home下的无主文件夹 /home/hehe /home/hehe/.mozilla /home/hehe/.mozilla/extensions /home/hehe/.mozilla/plugins /home/hehe/.bash_logout /home/hehe/.bash_profile /home/hehe/.bashrc #或与且的优先级 o or a and [root@localhost opt]# find /etc/ -type d -o -type l |wc -l #查找 etc文件夹下 目录和连接文件并统计数量 1008 [root@localhost opt]# find /etc/ -type d -o -type l -ls |wc -l #查找 etc文件夹下 目录 和连接文件 并显示连接文件的的详细信息后统计数量 274 [root@localhost opt]# find /etc/ -type d -o -type l -a -ls |wc -l #此条命令与上条命令对比实际隐藏了一个 a(且) 先执行了-type l -a -ls 处理动作只显示了连接文件 274 [root@localhost opt]# find /etc/ \( -type d -o -type l \) -a -ls |wc -l #如果实在需要一起显示可以使用括号和转义符 1008 [root@localhost opt]# find -size 1G #查找1G的文件会把所有都显示出来 . ./100.img ./99.img #按大小查找新建两个文件 [root@localhost opt]# dd if=/dev/zero of=99.img bs=99M count=1 [root@localhost opt]# dd if=/dev/zero of=100.img bs=100M count=1 [root@localhost opt]# ls 100.img 99.img [root@localhost opt]# find -size 100M ./100.img [root@localhost opt]# find /opt/ -size 100M /opt/100.img [root@localhost opt]# ll 99.img -rw-r--r--. 1 root root 103809024 8月 26 10:02 99.img [root@localhost opt]# echo >>99.img [root@localhost opt]# ll 99.img -rw-r--r--. 1 root root 103809025 8月 26 10:03 99.img [root@localhost opt]# find /opt/ -size 100M /opt/100.img /opt/99.img #这是应为linux中的100M不是正好100M 是99开始不包括99到100(99-100] #思考 1024M 和 1G 一样么? 1024M 代表 1023M - 1024M 不包括1023 1G 表示 0G -1G 不包括0G -size 10k 表示9k 到10k 且不包括9k -size -10k 表示9k 以内 包括9k -size +10k 表示10k 以上 不包括 10k #权限查找 -perm [root@localhost opt]# find -perm 644 ./100.img ./99.img ./a.txt [root@localhost opt]# find -name "*.img" -delete #找到并删除(找到name为什么并且删除) [root@localhost opt]#find -name /data /* -delete #花样删根 ############处理动作############################# -print:默认的处理动作,显示至屏幕 -ls:类似于对查找到的文件执行"ls -dils"命令格式输出 ll -fls file:查找到的所有文件的长格式信息保存至指定文件中,相当于 -ls > file -delete:删除查找到的文件,慎用! -ok COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交互式要求用户确认 -exec COMMAND {} \; 对查找到的每个文件执行由COMMAND指定的命令{}: 用于引用查找到的文件名称自身 -exe [root@localhost opt]# find -name "*.txt" -ok mv {} /mnt \; [root@localhost opt]# find -name "*.txt" -exec mv {} /mnt \; [root@localhost opt]#find /home -user zhangsan -fls /opt/test #找到home文件夹下属于zhangsan的文件,并将查询结果导入到/opt/test 文件 #以“天”为单位 -atime [+|-]# # #表示[#,#+1) +# #表示[#+1,∞] -# #表示[0,#) -mtime -ctime #以“分钟”为单位 -amin -mmin -cmin find -mtime 10 #10天到11天 find -mtime +10 #代表11天以上 find -mtime -10 #10天以内 Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root) #权限 所有者 所属组 Access: 2016-05-06 23:31:41.396893415 +0800 #访问时间 Modify: 2016-05-06 23:31:41.396893415 +0800 #数据修改时间 Change: 2016-05-06 23:31:41.411006937 +0800 #状态修改时间
5.硬件信息及其他系统信息
5.1 查看cpu
命令:
lscpu
cat /proc/cpuinfo
[root@localhost ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 1 Core(s) per socket: 2 座: 1 NUMA 节点: 1 厂商 ID: GenuineIntel CPU 系列: 6 型号: 158 型号名称: Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz 步进: 10 CPU MHz: 2302.856 BogoMIPS: 4607.99 超管理器厂商: VMware 虚拟化类型: 完全 L1d 缓存: 32K L1i 缓存: 32K L2 缓存: 256K L3 缓存: 8192K NUMA 节点0 CPU: 0,1 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec arat
5.2 查看内存
命令:
free
cat /proc/meminfo
[root@localhost ~]# free total used free shared buff/cache available Mem: 1867048 778400 170760 4900 917888 865052 Swap: 4194300 6036 4188264 [root@localhost ~]# df 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/mapper/centos-root 52403200 4650780 47752420 9% / devtmpfs 917604 0 917604 0% /dev tmpfs 933524 0 933524 0% /dev/shm tmpfs 933524 9260 924264 1% /run tmpfs 933524 0 933524 0% /sys/fs/cgroup /dev/sda1 5232640 182372 5050268 4% /boot tmpfs 186708 4 186704 1% /run/user/42 tmpfs 186708 32 186676 1% /run/user/0 /dev/sr0 4414592 4414592 0 100% /run/media/root/CentOS 7 x86_64
5.3 查看硬盘和分区
命令:
lsblk
cat /proc/partitions
[root@localhost ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 60G 0 disk ├─sda1 8:1 0 5G 0 part /boot └─sda2 8:2 0 54G 0 part ├─centos-root 253:0 0 50G 0 lvm / └─centos-swap 253:1 0 4G 0 lvm [SWAP] sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x
5.4 查看机器架构
[root@localhost ~]# arch
x86_64
5.5 查看内核版本
[root@localhost ~]# uname -r 3.10.0-693.el7.x86_64
5.6 系统时间
date查看当前系统时间
-d 你描述的日期,显示指定字符串所描述的时间,而非当前时间
%F
% T 时间(24小时制)(hh:mm:ss)
[root@localhost ~]# date
2022年 09月 20日 星期二 18:40:08 CST
[root@localhost ~]# date -d '-1 day' +%F #前一天
2022-09-19
[root@localhost ~]# date +%F
2022-09-20
[root@localhost ~]# date -d '1 day ' +%F-%T
2022-09-21-18:41:12
[root@localhost ~]# date -d "-3 day" #前三天
2022年 09月 17日 星期六 18:41:22 CST
[root@localhost ~]# date -d "+3 day" #后三天
2022年 09月 23日 星期五 18:41:34 CST
三.总结
命令不多,但选项和参数很多,需要多练多实践才能掌握。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律