Linux部分场景非常有用的命令集1_chattr&ldd&xargs&screen&ssh&磁盘&du
这里不做详细说明或截图,仅作为记录和简单说明。注:可能只针对某一命令部分功能,不包含整个功能,若要查看全部请自行查阅文档或help
1.chattr
当某一文件或目录,不想被无意修改或删除(即使root权限)。这是chattr是非常有用的。
chattr +a aa.log //只能往文件中追加数据,不能删除或移动
chattr +i bb.log //不能删除、移动、向文件追加数据
去掉属性修改:
chattr -a aa.log chattr -i bb.log
2.ldd
当某个程序出现异常,可以用这个命令检查依赖库是否正常。
#ldd /usr/bin/ssh linux-vdso.so.1 (0x00007ffe38cdc000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f2841f3e000) libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007f2841afb000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f28418f7000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f28416da000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f28414bf000) libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f2841274000)
...
如上,会列出了所有依赖库。每条包含 依赖库、依赖库指向或对应的系统库、库的开始地址。
3.xargs
给命令传递参数,组合多个命令。如下面一些例子:
find frameworks/ -name "Android.mk" | xargs grep -rn "platformprotos" //在framework下的Andorid.mk文件中搜索platformprotos关键字 find out -name "*libcameracustom*" | xargs rm -rf //out下搜索匹配*libcameracustom*的文件并删除
4.screen
常用于:1.ssh连接断开,使用screen能有效解决断开造成的困扰。 2.模拟演示
ssh连接断开:
创建一个screen会话,命名随意。创建后 默认在这个会话里,除非系统重启或会话被关闭。
screen -S yourname
如果连接断开,重新进入之前的会话:
screen -ls //查看所有的会话,如其中一条是要进入的:5216.flx01 (2019年10月16日 17时38分05秒) (Attached) screen -r 5216 或 screen -d 5216 //进入之前的会话,执行的命令仍然在执行没有断掉
模拟演示:
screen -S yourname //演示方创建 screen -x yourname //观看方观看,可多个
5.ssh连接相关
查询有哪些连接及相关连接信息:
who
向某个连接发送信息:
echo "I will close your connection" > /dev/pts/22 //“要发送的信息”, >后面是连接 通过who查看到的
关闭某个连接:
fuser -k /dev/pts/22
6.磁盘或分区处理
查看所有磁盘信息:
sudo fdisk -l
系统文件磁盘占用情况,一般看到的是分区所占用磁盘及挂载点:
如
查看设备所采用的文件系统类型:这里一般看到的是磁盘信息以及对应的UUID,UUID是系统分配给设备的唯一识别码
blkid
格式化磁盘:
sudo mkfs -t ext4 /dev/sdb //注意不要格式错了
最后修改fstab文件(/etc/fstab):添加或修改
7.du
显示文件或目录的磁盘空间使用情况
du -h --max-depth=1 //当前目录下的所有一级子目录的空间大小
善始者实繁,克终者盖寡。
---不足或不对的地方欢迎指正。