目录
一、shell
1.shell的定义
shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
bash是linux里面默认的shell程序位于/bin/bash,是解释器的总称。
shell的作用:将人类使用的高级语言,翻译成二进制
- 用户使用应用程序发布指令比如 (使用浏览器访问网页)
- shell去通知操作系统需要进行什么样的操作(相当于解释层)
- 内核相当于操作系统去指挥硬件
- 硬件才能工作,否则无法交互。
一些关于shell的代码:
2.shell与内部、外部命令
shell 分为内部命令和外部命令,一般先执行内部命令,hash 再执行外部命令(别名最大)
2.1内部命令和外部命令的区别
内部命令 | 外部命令 |
---|---|
集成于Shell解释器程序内部的一些特殊指令,也称为内建(Built-in)指令 | Linux系统中能够完成特定功能的脚本文件或二进制程序 |
属于Shell的一部分 | 属于Shell解释器程序之外的命令 |
没有单独对应的系统文件 | 每个外部命令对应了系统中的一个文件 |
自动载入内存,可以直接使用 | 必须知道其对应的文件位置,由Shell加载后才能执行 |
2.2用命令查看内部外部命令
2.2.1help命令查看内部命令
扩:linux帮助命令
linux的帮助命令主要有三个:
- help命令与 --help命令
- man命令
- info命令
(1)help命令和 --help命令
- 只有内建命令能够使用下述形式的 help 命令查询帮助文档。 例子:help cd
- --help是来查询外部命令的帮助文档。 例子:cp --help
![](https://img-blog.csdnimg.cn/47fe40351ccc4bed8fbc2f21714a8e41.png)
![](https://img-blog.csdnimg.cn/9f05ede30ede4d16bd41c98a354496d1.png)
这两个形式的 help 并不能完全等同。前一种通过执行内建的 help 命令查看帮助文档,后一种是通过命令后携带参数 help 的方式来展示所查询命令的帮助文档。
(2)man 命令
与 help 命令和 --help 参数不同,使用 man 命令查询帮助手册时会进入 man page 界面,而非直接打印在控制台上。例子:man cd
![](https://img-blog.csdnimg.cn/e768f16c727c4b33bfd6e422028f3770.png)
man分九个章节默认打开第一章节(menu菜单 manual手册)可以用命令man man打开
![](https://img-blog.csdnimg.cn/180a6445439a47bebb5fbbee745c8e8f.png)
在man命令进入的界面中,可以进行一些按键操作
按键 | 功能 |
---|---|
空格键 | 翻页 |
/str | 向后查找str字符串 |
?str | 向前查找str字符串 |
n,N | n为搜索到的下一个字符串,N为搜索到的上一个字符串 |
q | 退出界面 |
(3)info命令
info 命令的功能基本与 man 命令相似,能够显示出命令的相关资料和信息。例子:info ls
![](https://img-blog.csdnimg.cn/60bd6125499040beb85963cb511c370e.png)
在info命令进入的界面中,可以进行一些按键操作
按键 | 功能 |
---|---|
空格键 | 向下翻一页 |
N | 跳到下一个节点 |
P | 跳到上一个节点 |
U | 回到上一层节点 |
回车 | 光标移动到下一层节点处,回车进入 |
B | 跳到当前界面的第一个节点处 |
E | 跳到当前界面的最后一个节点处 |
/ | 在界面中进行搜索 |
Q | 退出界面 |
2.2.2 外部命令
2.2.3 hash
linux系统下会有一个hash表,每个SHLL独立,当你新开一个SHELL的时候,这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。
hash表的作用:提高了命令的调用速率
2.2.4type命令区分内外部命令
type: 用于查看指定命令的类型,判断给出的指令是内部指令还是外部指令。例子如图所示
![](https://img-blog.csdnimg.cn/6f8a527b2e8b497f88372106c379650e.png)
3.linux 命令执行的过程
- 绝对路径下的执行程序
- 先看别名,如果有别名 直接执行
- 再区别是 内部 还是外部, 内部直接执行
- 外部 首先 看 hash 表 表中直接执行, 表中有 但是找不到 直接报错
- 没有hash 回去 $PATH 路径下的文件夹去找,找到执行 找不到直接报错
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
4.linux的基础命令
#关机命令:
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
[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
#刷新下文件
date -s "2022-09-15 12:00"
二、目录操作
1.查看切换显示统计目录
1.1 pwd:显示当前路径
格式:pwd
- pwd #显示当前路径
- pwd -P #显示文件的真实路径
实例:
[root@localhost cc]# pwd #显示当前路径
[root@localhost cc]# ln -s /opt/11/ /data/12 #做软链接在data文件夹中做一个opt文件夹下11文件的链接,命名为12
[root@localhost data]# cd /data/12 #进入做的链接中(相当于快捷键)
[root@localhost 12]# pwd #显示当前的路径
[root@localhost 12]# pwd -P #显示文件的真实路径
![](https://img-blog.csdnimg.cn/325c1087c0604e779c1c3d7e08e6e9a7.png)
1.2 cd:切换目录
格式:cd [目录名]
文件夹位置决定了能访问的文件
绝对路径 | 以/根目录开始的,是唯一的。例如:cd /opt/11/22 |
相对路径 | 不以/根目录开始的,不是唯一的,依托于当前路径。例如:cd ../opt/11/22 |
实例:
命令 | 效果 |
---|---|
cd 或者 cd ~ | 若不指定目标位置,切换到当前用户的宿主目录(家目录) |
cd - | 到前一次目录 |
一个点号“.”开头(自己) | 表示以当前的工作目录作为起点(已点开头的是) |
两个点号“..”开头(上一级) | 表示以当前目录的上一级目录(父目录)作为起点 |
“~用户名”形式开头” | 表示以指定用户的宿主目录(家目录)作为起点 |
"."开头文件 | 表示隐藏文件 |
补充:
- “~”当前用户的家目录---------存放当前用户配置信息的文件夹。
- 当前用户对自己家目录有最高权限
- 超级管理员的家目录:/root
- 普通用户的目录:/home/与用户同名的文件夹
1.3 ls:列出指定目录下的所有文件
格式:ls [选项] [文件或目录… ]
生产环境中慎重直接使用,文件量过大会直接死机
选项 | 功能 |
---|---|
-l | 以长格式显示文件 |
-a | 显示所有文件,包括隐藏文件 |
-A | 显示所有文件和隐藏文件,但不包括.和.. |
-h | 人性化友好显示文件大小 |
-d | 仅列出目录本身,而不是列出目录内的文件数据 |
-R | 递归显示该目录及该目录的子目录下的所有内容 |
-t | 将文件依建立时间之先后次序列出 |
-r | 倒序显示 |
-i | indoe号 |
-S | 以文件容量大小排序 |
(1)ls :显示指定目录下的所有文件
[root@localhost data]# ls
(2)ls -l:以长格式显示文件和目录列表( ls -l=ll)
[root@localhost data]# ls -l #以长格式显示文件和目录列表(?ls -l=ll)
(3)ls -a:显示全部包括隐藏文件
[root@localhost data]# ls -a #显示全部包括隐藏文件
(4)ls -A:显示所有文件和隐藏文件,但不包括.和..
[root@localhost data]# ls -A #显示所有文件和隐藏文件,但不包括.和..
(5)ls -h:人性化友好显示文件大小
[root@localhost data]# ls -h #人性化友好显示文件大小
[root@localhost data]# ls -lh #人性化得以长格式显示
(6)ls -d:仅列出目录本身,而不是列出目录内的文件数据
[root@localhost data]# ls -d #仅列出目录本身,而不是列出目录内的文件数据
(7)ls -R:递归显示该目录及该目录的子目录下的所有内容
[root@localhost data]# ls -R #递归显示该目录及该目录的子目录下的所有内容
(8)ls -t:将文件依建立时间之先后次序列出
[root@localhost data]# ls -t #将文件依建立时间之先后次序列出
(9)ls -r:倒序显示
[root@localhost data]# ls -r #倒序显示
[root@localhost data]# ls -tr #以建立时间的先后倒序显示
(10)ls -i:indoe号
[root@localhost data]# ls -i #indoe号
(11)ls -S:以文件容量大小排序
[root@localhost data]# ls -S #以文件容量大小排序
1.4 文件类型
黑色 | 数据文件 普通文件 |
绿色 | 可执行文件 |
黄色 | 块设备文件(硬盘) |
红色 | 压缩包 |
蓝色 | 文件夹 |
天蓝色 | 连接文件(快捷方式) |
第一个字符 | 文件类型 |
---|---|
- | 普通文件,包括纯文本文件、二进制文件、各种压缩文件等。 |
d | 目录,类似 Windows 系统中的文件夹。 |
b | 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。 |
c | 字符设备文件,例如键盘、鼠标等。 一个字符一个字符读取 |
s | 套接字文件,通常用在网络数据连接,可以启动一个程序开监听用户的要求,用户可以通过套接字进行数据通信。 可以双向,携带ip地址,端口号,用来传递信息的 |
p | 管道文件,其主要作用是解决多个程序同时存取一个文件所造成的错误。 单向传输 |
l | 链接文件,类似 Windows 系统中的快捷方式。 |
1.5 通配符
去匹配文件名(包括文件夹)ls
grep 文件内容
通配符作用:匹配文件名
扩:正则表达式作用:匹配文章里的内容
符号 | 效果 |
---|---|
? | 匹配一个字符 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 |
[^zhang] | 匹配列表中的所有字符以外的字符 |
[[:digit:]] | 任意数字,相当于0-9 |
[[:alpha:]] | 显示所有字母 |
1.6 alias:创建别名(临时删除)
- 格式:alias[别名] = [指令名称]
- 删除别名:unalias 别名命令
- \加别名命令 (显示原始命令)
永久修改
- 在/etc/.bashrc 会影响全部
- /root/.bashrc只影响当前用户( 当前用户的家目录 )root
实例:
alias may='hostnamectl set-hostname'
#将改名这串命令建立别名,下次输入may即可替代这串命令
1.7 du:查看当前所在文件夹的总磁盘占用量
格式:du [选项] [文件或目录… ]
选项 | 说明 |
---|---|
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果 |
-s(--summarize) | 只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小 |
-S(separate-dirs) | 显示个别目录的大小时,并不含其子目录的大小。 |
-k或--kilobytes | 以1024 bytes为单位。 |
-m或--megabytes | 以1MB为单位。 |
--max-depth=n (-d 1) | 最大显示到第n层 |
--exclude | 不计入统计 |
(1)du -a:统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
[root@localhost data]# du -a
#统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
(2)du -h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
[root@localhost data]# du -h
#以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
(3)du -s:只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
[root@localhost data]# du -s
#只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小
[root@localhost data]# du -as
#在du的选项中,选项a和选项s不可以一同使用
[root@localhost data]# du -sh
#人性化统计所占空间的总大小
(4)du -S:显示个别目录的大小时,并不含其子目录的大小
[root@localhost data]# du -S
显示个别目录的大小时,并不含其子目录的大小
(5)du -k:以1024 bytes为单位
[root@localhost data]# du -k
#以1024 bytes为单位
(6)du -m:以1MB为单位
[root@localhost data]# du -m
#以1MB为单位
(7)du n(-d1):最大显示到第n层
[root@localhost data]# du -d 1
#只显示data目录下的第一层
(8)du --exclude:不计入统计
[root@localhost ll]# du --exclude=*.txt
#排除已txt结尾的
注意:
- -a和-s不可同时使用
- du和ls的区别:
- du统计的是当前文件占据磁盘的大小,不足4k按4k算,因为磁盘最小单位为块,块的大小是4k(大小可调节,装系统前设置,但是k越小越好),所以不足4k按4k计算
- ls看到的是真实大小
2.创建
2.1mkdir:创建目录
格式:mkdir [选项] 目录位置及名称…
(1)mkdir:创建文件夹
[root@localhost ll]# mkdir a
#创建一个文件夹
[root@localhost ll]# mkdir b c d
#创建多个文件夹
(2)mkdir -p:递归创建文件夹
[root@localhost ll]# mkdir aa/bb/cc -p
#递归创建多个文件夹
(3)mkdir -v:创建文件夹并显示过程
[root@localhost ll]# mkdir a b c -v
#创建多个文件夹并显示过程
[root@localhost ll]# mkdir aa/bb/cc -pv
#递归创建文件夹并显示过程
[root@localhost data]# mkdir -pv /data/{11,22,33}/{aa,bb,cc}
#递归创建文件夹并显示过程
2.2 touch:创建文件
- 格式:touch 新文件…(可为空)
- touch 如果有文件了,不会破坏已有文件,而是刷新时间
每个文件有三个时间戳:
- access time 访问时间,atime,读取文件内容
- modify time 修改时间,mtime,改变文件内容(数据)
- change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )
(1)touch创建文件(扩:用echo创建文件)
[root@localhost ll]# touch 1.txt 2 3.txt
#创建多个文件
[root@localhost ll]# echo "" > 4
#创建4的文件
(2)touch:刷新时间戳
[root@localhost ll]# touch 4
#4的文件存在,刷新时间
(3)stat:查看三种时间
[root@localhost ll]# stat /data/zz/ll/4
#查看三种时间(访问时间、修改时间和改变时间)
2.3 ln:硬链接与软链接
- 硬链接:同一个文件取不同的名或者叫多个名字,不支持文件夹,创建一个连接数加一,多路径访问。
- 软链接:类似于windows里快捷方式,软连接,符号连接,会指向原来的文件ln(link)。
对比项 | 硬链接 | 软链接 |
---|---|---|
本质 | 本质是同一个文件 | 本质不是同一个文件 |
inode(身份证号) | 相同 | 不同 |
连接数 | 创建新的硬链接,链接数会增加,删除硬链接,链接数减少 | 删除,新建都不会改变 |
文件夹 | 不支持 | 支持 |
删除源文件 | 只是链接数减一,但链接文件的访问不受影响 | 无法访问连接文件 |
文件类型 | 和源文件相同 | 链接文件,和源文件无关 |
文件大小 | 和源文件相同(指向硬盘上的同一个文件) | 源文件的路径的长度 |
2.3.1软链接
格式:ln [-s] 源文件或目录… 链接文件或目标位置
删除源文件无法访问,再新建同名文件后依然可以访问,可以跨设备,可以支持文件夹
软链接特点:
- 源文件一定要存在,源文件被删除,链接文件无法使用
- 源文件内容修改,链接文件也修改
- 链接文件的大小 是源文件路径的长度
实例:
ln -s /data/passwd /opt/soft
ln 命令做链接文件的命令
-s代表软链接,不写代表硬链接
/data/passwd 源文件的路径 注意一定要用绝对路径
/opt/soft 把链接文件放到opt目录并且取名soft如果不取名 和源文件同名
[root@localhost data]# cp /etc/passwd .
#复制etc文件夹下的passwd到当前目录下
[root@localhost data]# ln -s /data/passwd /opt/soft
#做软链接,将data文件夹中的passwd做一个软链接做到opt文件夹下命名为soft
2.3.2硬链接
格式:ln 源文件或目录… 链接文件或目标位置
- 多了一种方式去找文件 indoe号,不能跨分区建立连接 无法对文件夹创建
- 1.真实数据 2.元数据(indoe号,权限,大小等)
实例:
[root@localhost opt]# cp /etc/passwd /opt/f1.txt
#复制etc文件夹下的passwd文件到opt文件夹下命名为f1.txt
[root@localhost opt]# ln /opt/f1.txt /opt/f2.txt
#将opt文件夹下的f1.txt文件做一个硬链接到opt文件夹下并且命名为f2.txt
2.4 cp:复制
格式:
- cp [选项]… 源文件 目标 相当改名复制
- cp [选项]... 源文件... 文件夹 多个源文件只能复制到文件夹
选项 | 说明 |
---|---|
-f | 覆盖目标同名文件或目录时不进行提醒,直接强制复制 |
-i | 覆盖目标同名文件或目录时提醒用户确认 |
-p | 复制时保持源文件的权限、属主及时间标记等属性不变 |
-r | 复制目录时必须使用此选项,表示递归复制所有文件及子目录 |
-a | 完整保留所有的信息包括连接文件 |
-v | 可视化 |
-u | 相当于增备,差异备份 |
-b | 先备份(只保留最近) |
(1)cp:复制
[root@localhost data]# cp /etc/passwd .
#将etc文件夹下的passwd文件复制到当前目录下,命名默认原来的名字passwd
[root@localhost opt]# cp /etc/passwd /opt/f1.txt
#将etc文件夹下的passwd文件复制到opt文件夹下,并且命名为f1.txt
(2)cp -f:覆盖目标同名文件或目录时不进行提醒,直接强制复制
[root@localhost opt]# cp -f /etc/passwd /opt/f1
#覆盖目标同名文件或目录时不进行提醒,直接强制复制,但发现依旧有提示
[root@localhost opt]# \cp -f /etc/passwd /opt/f1
#加了-f依旧有提示,解决方法加\
(3)cp -r:复制目录时必须使用此选项,表示递归复制所有文件及子目录
[root@localhost opt]# cp -r /etc/ /data/etc.bak
#将etc文件夹拷贝到data目录并且改名etc.bak
[root@localhost opt]# cp -r /etc/ /data/etc.bak
#将etc复制到 etc.bak 下成为子目录 没有改名
[root@localhost opt]# cp -r /etc/ /data/etc.bak
#将etc复制到 etc.bak 下成为子目录,因为已经有etc.bak所以会提示
2.5 mv:移动改名
格式:mv [选项] … 源文件或目录… 目标文件或目录 单个文件
实例:
(1)移动(两个文件夹都建立好了的情况下)
[root@localhost opt]# mv /opt/a /opt/b
#将opt文件夹下的a文件夹移动到b文件夹下
(2)移动(其中一个文件夹并没有建立的情况下)
(3)mv命名
[root@localhost opt]# mv part1/ newpart1
#将part1这个文件夹改名为newpart1
2.6 rename 批量改名
格式:rename 旧字符 新字符 目标文
实例:
[root@localhost opt]# rename txt txt.bak *
#将txt改成txt.bak
2.7 rm 删除
格式:rm [选项] 要删除的文件或目录
rm注意点:
1.不可以删除根,不要误操作删除更目录
[root@localhost ~]# rm -rf / #不让执行
[root@localhost ~]# echo * #删根后查看
[root@localhost ~]# rm -rf /data/* #正常删除
[root@localhost ~]# rm -rf /data /* #之间的区别误操作,等于删根
2.删除特殊的文件
[root@localhost ~]# touch ./-f #创建一个以-开头的文件
[root@localhost ~]# rm -f -f #删除不掉
[root@localhost ~]# rm -f ./-f #方法一:需要加路径
[root@localhost ~]# touch ./-f #创建一个以-开头的文件
[root@localhost ~]# rm -- -f #方法二
3.查找文件
3.1 find查找文件
格式:find [OPTION]... [查找路径] [查找条件] [处理动作]
- 查找路径:指定具体目标路径;默认为当前目录
- 查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件
- 处理动作:对符合条件的文件做操作,默认输出至屏幕(print)
作用:将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端。
命令的特点:
- 精确查找
- 实时查找 遍历(慢)
- 支持查找条件较多
查找类型 | 关键字 | 说明 |
---|---|---|
按名称查找 | -name | 根据目标文件的名称进行查找,允许使用“*”及“?”通配符 |
按文件大小查找 | -size | 根据目标文件的大小进行查找一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括 kB(注意 k 是小写)、MB、GB |
按文件属主查找 | -user | 根据文件是否属于目标用户进行查找 |
按文件类型查找 | -type | 根据文件的类型进行查找文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等 |
按inode号 | -inum | 根据文件inode号查找 |
按权限查找 | -perm | 按文件权限查找 |
最大搜索目录深度 | -maxdepth level | 将你的文件以分级的形式查找 |
最小搜索目录深度 | -mindepth level | 同上 |
(1)find -name:根据目标文件的名称进行查找
[root@localhost data]# find /data -name "*.txt"
#查找data文件夹中以txt结尾的文件
(2)find -size:根据目标文件的大小进行查找
[root@localhost data]# find -size 1k
查找0.1字节到1k的文件
(3)find -user:根据文件是否属于目标用户进行查找
[root@localhost data]# find /data -user root
#查找属于用户root的文件
(4)find -type:根据文件的类型进行查找
[root@localhost data]# find /data -type f
#找到data文件夹下的所有普通文件
[root@localhost data]# find /data -type f -name "*.txt"
#找到data文件夹下的并且以txt结尾的所有普通文件
(5)find -inum:根据文件inode号查找
[root@localhost data]# find -inum 102017286
#找到当前文件夹下inode相匹配的文件
(6)find -perm:按文件权限查找
[root@localhost data]# find -perm 644
#查找与644权限有关的文件
(7)find -maxdepth level与find -mindepth level可以组合使用:
[root@localhost zz]# find /data/zz -maxdepth 1 -mindepth 1
#只查找data文件夹下第一层文件
3.2which查找
格式:which 命令|程序名
作用:可以检索、查看某个指令在哪个目录下
实例:
[root@localhost zz]# which ls
#查找命令 ls 的具体位置
3.3 locate 模糊查询 查找那些常年不动的文件
格式:locate [-d ][--help][--version][范本样式...]
作用:模糊查询 查找那些常年不动的文件
实例:
[root@localhost zz]# locate passwd
#查找 passwd 文件
[root@localhost zz]# locate /etc/sh
#搜索 etc 目录下所有以 sh 开头的文件
4.硬件信息及其他系统信息
4.1查看CPU
- lscpu命令可以查看cpu信息
- cat /proc/cpuinfo也可看查看到
4.2 查看内存大小
- free
- cat /proc/meminfo
4.3 查看硬盘和分区情况
- lsblk
- cat /proc/partitions
4.4 查看机器架构
- arch
4.5 查看内核版本
- uname -r
4.6 系统时间
date查看当前系统时间
-d 你描述的日期,显示指定字符串所描述的时间,而非当前时间
%F 完整日期格式,等价于 %Y-%m-%d
% T 时间(24小时制)(hh:mm:ss)
三、总结
1.linux 命令执行的过程
- * 绝对路径下的执行程序
- * 先看别名,如果有别名 直接执行
- * 再区别是 内部 还是外部, 内部直接执行
- * 外部 首先 看 hash 表 表中直接执行, 表中有 但是找不到 直接报错
- * 没有hash 回去 $PATH 路径下的文件夹去找,找到执行 找不到直接报错
- /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
2.du统计当前文件占据磁盘的大小
- * du统计的是当前文件占据磁盘的大小,不足4k按4k算,因为磁盘最小单位为块,块的大小是4k(大小可调节,装系统前设置,但是k越小越好),所以不足4k按4k计算
- * ll 统计的是真实的大小
3.touch
- 当文件不存在时,直接新建该文件,并且该文件为空文件
- 当文件存在,会刷新该文件的时间戳