基础命令
命令 | 用途 | 常用参数 | 备注 |
---|
man | 查看命令帮助 | | |
ls | 查看文件/目录 | -altr | |
cd | 切换目录 | | |
pwd | 查看当前工作路径 | | |
mkdir/touch | 创建目录/文件 | -p | |
rmdir/rm | 删除目录/文件 | -rf | |
cp/mv | 复制/移动目录/文件 | -rp | |
cat | 显示文件内容 | -n | |
chmod | 修改目录/文件权限 | -R r4 w2 x1 | |
find | 目录/文件搜索 | -name/type | |
grep | 字符串匹配行 | -if | |
tar | 解/压缩包 | -xcvf | |
su | 切换用户 | -/-c | |
进阶命令
命令 | 用途 | 常用参数 | 备注 |
---|
free | 查看内存 | -mg | |
df | 查看磁盘 | -h | |
du | 查看文件目录大学 | -sh | |
ps | 查看进程信息 | -aefu | |
lpcs/ipcrm | 查看/删除共享内存/消息队列/信号量 | -msq | |
netstat | 查看网络信息 -tu | | |
top | 监控系统信息 | | 类似windows任务管理器 |
uname | 查看系统属性 | -a | |
ping/teinet | 检测网络情况 | | |
kill | 发送信号 | -I | |
env | 查看环境变量 | | 可配合grep定位 |
rpm | 安装/卸载 rpm软件包 | -ivh/-e/-a | |
其他
- su命令和su -命令的差别(切换登录账号)
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。如图:
Linux的find-基本用法
命令格式 | 命令案例 | 解释说明 |
---|
find | find | 列出当前目录和子目录下的所有文件 |
find 路径 | find ./test | 查找特殊的目录下的所有文件 |
find 路径 -name 文件名或类型 (-iname 忽略大小写) | find ./test -name “*.txt” | 查找特殊的目录下的txt文件 |
find 路径 -not(!) -name 文件名或类型 | find ./test -not -name “*.txt” | 反向查找 |
| find ./test -name ‘abc*’ ! -name ‘*.php’ | 同时使用多个查找条件来指定文件名并排除某些文件。 |
find 路径 -maxdepth 文件名或类型 | find ./test -maxdepth 2 -name “*.php” | find 命令默认会递归查找整个目录树 maxdepth 限制目录查找的深度 |
-o | find -name ‘.php’ -o -name ‘.txt’ | 当我们使用多个查找条件时, find 命令会将它们通过 AND 操作符结合起来,也就是说,只有满足所有条件的文件才会被列出。不过,如果我们需要进行基于 OR 运算的查找时,可以加上 -o开关 |
-type f | find ./test -type f -name “abc*”./test/abc.txt | 只查找文件 |
-type d | find ./test -type d -name “abc*”./test/abc | 只查找目录 |
| find ./test ./dir2 -type f -name “abc*” | 同时在多个目录下查找 |
| find ~ -type f -name “.*” | 查找隐藏文件 |
-prem 文件权限 | find . -type f -perm 0664 | 查找指定权限的文件 |
! -prem 文件权限 | find . -type f ! -perm 0777 | 反向查找 来进行权限检查。 |
| find / -perm 2644 | 查找所有具有 644 权限和 SGID 属性的文件。 |
| find /etc -maxdepth 1 -perm /u=r(只读) {-prem /u=w(可写) -prem /u=x(可执行)} | 查找只读(可写,可执行)文件 |
-user | find . -user bob…/abc.txt | 基于文件拥有者和用户组的查找 |
-group | find /var/www -group developer | 查找属于特定用户组的文件 |
-mtime | find / -mtime 50 | 查找过去的第 N 天被修改过的文件 |
-atime | find / -atime -50 | 查找过去的 N 天内被访问过的文件 |
| find / -mtime +50 -mtime -100 | 查找某段时间范围内被修改过内容的文件 |
| find /home/bob -cmin -60 | 查找过去的 N 分钟内状态发生改变的文件 |
-mmin | find / -mmin -60 | 查找过去的 1 小时内被修改过内容的文件 |
-amin | find / -amin -60 | 查找过去的 1 小时内被访问过的文件 |
| find / -size 50M | 查找指定大小的文件 |
| find / -size +50M -size -100M | 查找大小在一定范围内的文件 |
| find /tmp -type f -empty | 查找空文件 |
| find ~/ -type d -empty | 查找空目录 |
| find . -exec ls -ld {} ; | 使用 ls 命令列出文件信息 |
| find /tmp -type f -name “*.txt” -exec rm -f {} ; | 删除找到的文件 |
| find /tmp -type d -name “dirToRemove” -exec rm -r -f {} ; | 删除找到的目录 |
linux在日志中查找关键字、前几行、结尾几行
1查看日志 前 n行:
cat 文件名 | head -n
数量 cat test.log | head -n 200 # 查看test.log前200行
2查看日志 尾 n行:
cat 文件名 | tail -n 数量
cat test.log | tail -n 200 # 查看test.log倒数200行
3根据 关键词 查看日志 并返回关键词所在行:
*方法一:*cat 路径/文件名 | grep 关键词
cat test.log | grep “http” # 返回test.log中包含http的所有行
*方法二:*grep -i 关键词 路径/文件名
grep -i “http” ./test.log # 返回test.log中包含http的所有行