Linux常用指令
文件:
磁盘与⽬录:df、ls、cd、pwd、$PWD
⽂件编辑:交互编辑vim、流式编辑器 sed
⽂件权限:chmod、chown
⽂件搜索:find
⽂件内容:cat、more、less、grep
特殊⽂件:软链、socket:进程通讯、管道:进程通讯
- 文件操作指令:
查看磁盘的使用情况:df -h
每个文件系统的使用情况: du -h
ls -al
cd . ..(上一层目录) -(上一次目录)
mkdir
cp
rm
mv
pwd
touch - 文本操作指令:
cat
head
tail
more
less
| # 左边的输出作为右边的输入
grep 常和管道、文本中匹配查找使用,用于筛选 - df 与du的区别:
参考链接:https://blog.csdn.net/wisgood/article/details/17316663
du是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和。
df通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。 - vi的各种快捷键:
a在光标后面插入
q!
dd 删除整行
dG 删除光标后面的行,直到文件结束
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
yy 将当前行的内容放入临时缓冲区
nyy 将n行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
P 将临时缓冲区中的文本放入光标前
u 撤消最后一次修改 - vi里面怎么替换字符串
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
:s/oldtext/newtext 用newtext替换oldtext # 只替换一个
:g/oldtext/newtext 用newtext替换oldtext # 全部替换
参考链接:https://www.cnblogs.com/cjhk/p/11598709.html - which :
which指令会在环境变量$PATH设置的目录里查找符合条件的文件
which python
which vi - find
参考链接:https://www.cnblogs.com/bbox/p/9655776.html
-type :指定查找的类型,f文件,d目录
-maxdepth 2:指定文件的深度为2
-name log、-name "*.log": 指定文件的名字
-mtime -n +n # 按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n # 按文件访问时间(day)来查
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
find ./ -name .* | xargs grep "baidu" # 查找目录下包含baidu的文件
find ./ -empty # 查找空文件
find ./ -size +6k -size -8k
find ./ atime +3 # 三天前打开过的文件 - man
man find - less
空格键:是翻下一页
b:是翻到上一页
/serchContent – 使用一个模式进行搜索,并定位到下一个匹配的文本
n – 向前查找下一个匹配的文本
N – 向后查找前一个匹配的文本
文件权限:
ls -l 查看权限
⽂件、⽬录
⽤户、组
读、写、执⾏、SUID、SGID
chmod:修改归属者
chgrp:修改归属组
进程:
top资源管理器
查看CPU
sar -P ALL
查看某进程的占用资源(CPU和内存)
top -P pid
查看cpu版本:cat /proc/cpuinfo
查看内存: free -m(以MB格式显示)
查看内存信息:cat /proc/meminfo
ps
- ps -ef
- ps -aux
网络:
netstat -tlnp
netstat -tnp
mac与linux不⼀致:netstat -p tcp -n -a
Shell 输⼊输出
Read ⽤来读取输⼊,并赋值给变量
echo ,printf可以简单输出变量。
> file 将输出重定向到另⼀个⽂件
>> 表⽰追加 等价于tee -a
< file 输⼊重定向
| 表⽰管道,也就是前⼀个命令的输出传⼊下⼀个命令的输⼊,开启新进程,该进程结束,变量销毁
- read x
- wc统计:wc -l
- m=$(cat a.txt | wc -l) # 把变量m等于()里面的输出,$为取索引
echo $m