Linux常用命令及bash脚本

本文详细介绍Linux环境下常用的文件管理和作业管理命令,包括查看文件夹大小、压缩解压文件、复制删除文件夹等操作方法,以及如何将作业放到后台运行、终止后台作业等技巧,并对比了source、sh和.命令执行sh脚本的区别。

一、文件管理相关

· ls -l,在文件夹大小一列中可能会看到4096,是文件夹目录文件占用的空间

· 查看文件夹大小:du -sh 文件夹名

· 查看隐藏文件:ls -a    以"."开头的都是隐藏文件

· 压缩.tar.gz:  tar zcvf file.tar.gz DirAndName

  解压.tar.gz:tar -xvzf file.tar.gz

· 复制文件夹,文件夹中有子文件夹时如果直接使用cp会出现omitting directory的错误。此时需要加上-r参数,表示递归操作。如:

cp -r sourcefile/ ../backup/desfile/

注意sourcefile作为目录后有/;desfile/后可为空(不变更名称),也可接希望重命名后的新文件夹名

· 删除命令:rm -rf 文件或目录名

参数说明:   

    -r 向下递归,不管有多少级目录,一并删除
    -f 直接强行删除,没有任何提示

· 根目录是树状目录的根部,只有一个,进入方式是 cd /

主目录是用户的home目录,不同用户主目录不同,缺省的非root用户home目录是 cd ~

本地文件传到远程:scp local_file remote_username@remote_ip:remote_folder

二、作业管理相关

将当前作业放到后台暂停:ctrl+z

观察当前后台作业状态:jobs

将后台作业拿到前台处理:fg jobnumber

让作业在后台运行:bg jobnumber    (ctrl+z让当前作业到后台去暂停,bg 作业号就可以在后台run)

暂停后台作业:kill -STOP %jobnumber

终止后台作业:kill -signal %jobnumber(若是PID的话,则前边不加%)

后台运行(不受终端关闭影响):nohup [command] &

在另一个终端中可以用ps -aux | grep "filename"来查看该进程,可以看到user、pid(第二列)、启动时间、命令内容等。

nohup执行python程序时,可能会遇到print的内容无法输出到日志的情况。解决方法:采用-u参数不启用python输出缓冲。如 nohup python3 test.py & -> nohup python3 -u test.py &

三、source,sh和.的区别

三者都可以用来执行sh脚本,其中.需要权限,另外两者不需要。注意sh脚本中如果设置了环境变量则要用source,否则环境变量不会生效。

环境变量小结:https://blog.csdn.net/BockSong/article/details/81747872

四、bash脚本

HOMEDIR = $(pwd)   # 当前目录

dname= $(dirname "$PWD")  # 获取上级目录

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值