Ubuntu常用命令(持续更新)
1.查看内存使用
free -m
2.手动清理缓存
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
3.定时清理缓存(每小时清理一次,并将缓存内容写入日志文件避免丢失)
1)运行 nano Sync.sh 添加如下内容
echo "start syncmem `date '+%Y-%m-%d %H:%M:%S'`"
sync;sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
2)chmod +x Sync.sh
3)然后:sudo nano /etc/crontab,在末尾添加:
0 */1 * * * root /bin/bash /home/dale/Sync.sh >> /home/dale/syncmem.log
4.nmap扫描局域网内主机
(1)安装nmap
sudo apt install nmap
(2)扫描主机
# 通过Ping在网络寻找所有在线主机
nmap -sP 192.168.1.0/24
# 当主机禁止Ping时,上述命令无效,因此用无Ping方式扫描
nmap -p0 192.168.1.0/24
# 列表扫描,仅仅列出指定网络上的每台主机,不发送任何报文给目标
nmap -sL 192.168.1.0/24
# nmap 还有很多其他的扫描方式,比如SYN,UDP,ARP等
5.实时查看显存信息
# 其中, -n 1 表示每隔1秒刷新一次
watch -n 1 nvidia-smi
6.打包压缩命令
tar命令
tar命令主要参数:
-A 新增压缩文件到已存在的压缩
-c 建立新的压缩文件
-d 记录文件的差别
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-x 从压缩的文件中提取文件
-t 显示压缩文件的内容
-z 支持gzip解压文件
-j 支持bzip2解压文件
-Z 支持compress解压文件
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-W 确认压缩文件的正确性
压缩
tar cvf test.tar test # 仅仅打包
tar jcvf test.tar.bz2 test # 压缩打包成bzip2格式
tar zcvf test.tar.gz test # 压缩打包gzip格式
解压缩
# 将参数c换成z即可
tar jxvf test.tar.bz2 test # 解压缩后缀为.bz2格式的压缩文件
tar zxvf test.tar.gz test # 解压缩后缀为.gz格式的压缩文件
zip命令
压缩
zip test.zip.gz test # 使用zip压缩打包
解压缩
unzip test.zip test # 使用unzip解压缩.zip格式的压缩文件
如果unzip中文件名包含中文,可能会出现乱码,可以通过添加 -O CP936参数解决
unzip -O CP936 xxx.zip
7. linux替换目录下所有文件中的某字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,可以这样做:
# -i 表示inplace edit,就地修改文件
# -r 表示搜索子目录
# -l 表示输出匹配的文件名
sed -i "s/zhangsan/lisi/g" grep zhangsan -rl /modules
这个命令组合很强大,要注意备份文件
8. 修改文件的权限、所属用户、所属用户组
权限数值对应关系如下:
r -- 4 # 可读取
w -- 2 # 可写入
x -- 1 # 可执行
表示时可以用数字代替字母进行表示,比如:
rx = 4+1 = 5 表示拥有可读和可执行权限
rw = 4+2 = 6 表示拥有可读和可写权限
rwx = 4+2+1 = 7 表示拥有所有权限,即可读可写及可执行权限
每个文件的权限由3个部分组成,以755为例:
第一个7:表示当前文件的拥有者的权限,7=4+2+1 可读可写可执行权限
第二个5:表示当前文件的所属组(同组用户)权限,7=4+1 可读可执行权限
第三个5:表示当前文件的组外权限,7=4+1 可读可执行权限
更改文件的权限
# 更改当前用户对dirname文件夹及其子文件夹下的所有文件权限为755
chmod -R 755 dirname
# 更改当前用户对filename文件的权限为755
chmod 755 filename
更改文件夹或者文件的所属用户
# 更改dirname文件夹及其子文件夹下的所有文件的所属用户为username
chown -R username dirname
# 更改filename文件夹的所属用户为username
chown username filename
更改文件夹或者文件的所属用户组
# 更改dirname文件夹及其子文件夹下的所有文件的所属用户组为usergroup
chgrp -R usergroup dirname
# 更改filename文件夹的所属用户组为usergroup
chgrp usergroup dirname
评论区