今天又对Linux的一些基本操作进行了温习。以下是用Linux以来总结的常用命令:
Ctrl+ A:命令行开头
Ctrl+ E:命令行结尾
Ctrl+ L:命令行清屏(windows 清屏cls)
Ctrl+ K:剪切光标后面的所有字符
Ctrl+ U:剪切光标前面的所有字符
Ctrl+ Y:粘贴当前文本
ALT+ Y:粘贴早期剪切的文本
命令行补全,TAB;显示所有补全的候选 TAB TAB
History :查看已经使用的命令
alias:查看别名 (创建别名alias p=’pwd’ 删除unalias)
文件权限和所有权
九位权限:前3位为所有者权限,中间三位为文件所属组的权限,后三位为其他人的权限
r读取 (查看目录包含文件和子目录)
w写入(向目录添加文件或子目录)
x执行 (更改目录为当前目录,列出目录中的内容)
-代表字母是表示该权限被关闭
chomd更改权限
读取,写入,执行分配的数字(r=4,w=2,x=1)
chomd 777 test (赋给tset所有权限)
chomd 755 test (赋给test rwxr-xr-x)
chomd 644 test (赋给test rw-r–r–)
读取,写入,执行分配的字母(用户u 组g 其他人o 所有用户a)
chomd a-w test (赋给test r-xr-xr-x,没有读权限)
chomd go-x test (赋给test rwxrw-rw-权限、组和其他人没有执行权限)
chomd u+rw test (赋给test rw——-权限)
-号默认所有人都有所有权限然后减去权限
+号默认所有人没有任何权限然后加上权限
对于普通用户创建文件时默认权限为rw-rw-r–
创建目录时默认权限为rwxrwxr-x
对于root来说创建文件时默认权限为rw-r–r–
创建目录时默认权限为rwxr-xr-x
root用户创建文件或目录后将所有权改为msy普通用户
chown msy:msy test.txt
移动、复制、删除文件目录
(-f(或者加上反斜杠如:\rm) 强制删除 不管有没有重复)
(-d 如果目标目录有同名的文件进行旧文件备份复制)
mv移动 mv 位置1 位置2
mv 1.txt 2.txt (同目录移动,实际上是对1.txt重命名为2.txt)
mv /home/msy/test/ /home/msy/test1/ (将目录test移动到test1)
cp 复制 cp 位置1 位置2
cp -r 递归复制目录所有内容
cp -ra 复制内容及原时间戳(默认创建新的时间戳)
rm删除文件(vi 编辑创建 touch memo{1,2,3} 前后进行组合同时创建3个文件memo1、memo2、memo3)
rmdir删除目录(-r递归删除所有 ,mkdir创建目录)
搜索查找文件
locate根据名称查找命令(搜索的是文件名所构成的数据库,速度快)
find 根据不同属性查找文件(搜索整个文件系统,速度慢)
grep在文件内部进行搜索
lcoate -i忽略大小
find test1 -ls查找文件并列出长清单
find /etc -name passd (完全匹配)‘passwd’匹配任何包括passwd的文件名
find /home -size +10M(-1M) 查找/home目录下大于10M的(小于1M)
find /home -size +50M -size 1G 查找指定范围大小的文件
根据用户查找(-user可换为-group)
find /home -user msy -or -user jk -ls查找用户msy或jk拥有的文件
find /home -not -user root-ls 查找不被root拥有的文件
find /home -user msy -and -size +10M -ls 查找文件属于msy且文件大于10M
根据权限查找
find /home -perm 755 -ls查找权限为755的文件及目录
数字前面加-是必须完全匹配,+任意一个数字都可以与搜索匹配 不加任何+或-,数字必须完整精确匹配
-type d只查找目录 -type f只查找文件
根据时间
find /home -atime +300 查找300天没有访问的文件
find /home -ctime -3 查找3天内哪些命令的所有权改变了
find /home -mmin -10 查找过去10分钟更改了哪些内容
time(-atime,-ctime,-mtime)天数 min(-amin、-cmin、-mmin)分钟数
查找文件和执行命令
-exec 在每一个查找到的文件执行命令不询问是否执行
-ok 每次询问
find /home -iname iptables -exec echo “I found {}” \;显示I found /home/test1
find /home -size +5M -exec du{} \; |sort -nr
du列举大小,然后按从大到小进行排序
grep -i hello /home/my.txt在一个或多个文本中找含有hello的行(-i)不区分大小写
(-v 不包含某个字符串)
(-rli 显示包含目录下搜索文本的文件)
grep -ri –color hello /home
在一些命令输出中搜索某文本 ip addr show| grep inet
进程管理
ps 列出进程
-u显示用户名及其他信息
-ux显示当前用户的所有进程
-aux显示所有用户的所有进程
在后面使用管道 |less 可浏览列表信息
-eo显示每一个运行中的进程-o可以包含想显示的列 ps -eo pid,user,uid | less
top按照当前所使用的CPU时间显示进程或者杀死(完全终止)或重新改变优先次序
将命令放置在后台在最后加上& 停止一个运行中的程序并且将其放置到后台(Ctrl+z)
jobs查看哪些程序在后台运行
fg%1带回前台 bg%1放到后台中
kill和killall杀死进程
kill -15 10432 (-15默认终止进程,-9 杀死进程那个)
killall -9 test 不用要进程ID 当杀死多个同名命令时很有效
nice和renice更改进程的优先级
nice +5 test &
renice -n -5 PID
普通用户只能指定0-19 并且renice只能大不能小root没有限制(nice值越低优先级越高)
cgroups可以为一个进程进行特定限制,并且该进程启动的其他进程也要继承父进程的限制