Shell 基本命令 2

Shell 基本命令 2

给朋友写的 Shell 入门心得

Linux 厉害在有很多好用的基本命令,可以快速开发,本着资源管理的角度,我们去看一下常用的命令,一般的资源管理,就是增删改查了。

文件管理

注:不包括文件权限管理

$ touch f1.txt  # 创建一个空文件,如果文件已经存在,没有影响
$ echo "abc" >f2.txt  # 把内容 abc 输出到文件 f2.txt,会覆盖原有内容
$ echo "abc" >>f3.txt  # 把内容 abc 添加到文件 f3.txt 结尾
$ mkdir dir1  # 创建文件夹 dir1
$ vim f4.txt  # 编辑文件 f4.txt, 若 f4.txt 不存在,保存后也会有新建的效果

$ rm f1.txt  # 删除文件
$ rm -f f2.txt  # 强制删除文件,没有确认步骤(适合做脚本)
$ rm -r dir1  # 删除文件夹及里面的所有内容
$ rm -rf dir2  # 强制删除文件夹及里面的所有内容,这也是段子里面经常会出出现的跑路命令。。。要注意:dir2 中的空格很危险,如果真的有空格,用双引号引用
$ rm -rf "/root/have a space/"

$ vim f1.txt  # 编辑文件
$ mv from.txt to.txt  # 移动文件(也可以用来重命名)
$ mv from.txt to_dir  # 移动文件到文件夹
$ cp from.txt to.txt  # 复制文件
$ mv from_dir to_dir  # 移动文件夹,注意,若 to_dir 存在,会放到目录下,如果不存在,会移动后命名为 to_dir
$ cp -r from_dir to_dir  # 拷贝文件夹
$ cp *.txt to_dir  # 拷贝所有 txt 文件到文件夹

$ ls  # 列出当前目录文件、文件夹
$ ls ~  # 列出用户目录文件、文件夹
$ ls -l  # 具体信息,简写 ll
$ ls -al  # 列出隐藏文件,并展示具体信息
$ find ~ -name abc.txt  # 在目录 ~ 中找文件 abc.txt
$ find /root/mylog -name *.log 
$ grep abc *.txt  # 在所有 txt 文件中找含有 abc 的行
$ grep abc * -rI  # 遍历当前目录及子目录下的非二进制文件,寻找含有 abc 的行
$ cat f1.txt  # 查看文件内容
$ head f2.txt -n 100  # 查看文件前 100 行
$ tail f3.txt -n 100  # 查看文件最后 100 行
$ tail -f f4.log  # 跟踪 f4.log 文件的输出,按 Ctrl-C 退出
$ less f5.txt  # 查看文件,配合```Shift-G, Shift-F, gg, f, b```等命令非常好用,强烈推荐

进程管理

# 没什么好写的,说一句,Linux 的成功中的一点就是把进程的创建成本降到了很低的水平,善用进程

# 基本上都是使用 kill 命令来删除
# kill 命令实质上是像进程发送信号 HUP TERM 等
kill -9 12345  # 杀掉 pid (进程号)为 12345 的进程

$ ps -few  # 查询所有进程(Linux 风格的参数),常配合 grep 寻找进程
$ ps aux  # 查询所有进程(BSD 风格的参数)
$ top  # 实时显示进程资源(CPU、内存等)占用,分别点(Shift-M,m,m,c 是按照内存排序,选择内存进度条风格,显示完整命令)
$ htop  # top 的美化版本,推荐
$ iotop  # 实时监控 IO 资源(网络IO、文件IO等)占用
$ pwdx 12345  # 插件进程的当前工作目录

网络管理

$ netstat -nap  # 查看网络端口占用和连接情况,常配合 grep 查看端口号或者进程号
$ ifconfig  # 查看所有网卡
$ hostname  # 查看本机的 host
$ iptables  # 这个命令特别diao,自己找文章

# 常见场景是消除所有 iptables 规则
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# 要监控流量的话可以考虑 zabbix 服务
# 也可以考虑 docker 方案

权限管理

简述:

  • 文件的 user 和 group 决定了使用哪个用户和组的权限,每个用户/组的权限分为读、写、执行。
  • 权限分为三部分,分别对应了用户、用户组、其他
$ ll
-rwxr-xr-x 1 root root 215081 Sep 24 23:19 abc.txt
# rw- r-- r-- 每三个一组,分别对应了用户,用户组,其他的权限
# root root 分别表示文件所属用户,所属用户组

$ ls -l abc.txt  # 查看文件 abc.txt 的权限和用户、用户组

$ chmod +x abc.txt  # 为文件添加执行权限,包括用户、用户组和其他
$ chmod u-w abc.txt  # 禁止用户修改文件
$ chmod g+w abc.txt  # 为用户组添加写权限
$ chmod o-x abc.txt  # 其他(others)用户去掉执行权限
$ chmod +x dir1 -R  # 为文件夹及其子文件夹中的文件添加执行权限
$ chown zxp dir2 -R  # 修改文件夹的所属的用户
$ chown zxp:zxp abc.txt  # 修改文件所属的用户和用户组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值