目录

目录

一、解压缩

1、.tar

2、.tar.gz

3、.tar.bz2

4、分卷解压缩

二、Linux下载torrent种子

三、查看并杀死进程

查看进程

杀死某进程

杀死全部python进程

四、Bash相关操作

(一)基础操作

1、新建并执行bash文件

2、Shell脚本定义变量、赋值

3、Shell输入、输出变量

4、字符串

(二)基本语法

1、if-then-else-fi

2、for

3、while

(三)技巧

1、$0、$1、$2、$#、$@、$*、$?


一、解压缩

1、.tar

  • 将所有的.jpg文件打包成tar包
tar -cf images.tar *.jpg
  • 解压
tar -xf images.tar

2、.tar.gz

  • 将所有的.jpg文件打包成tar.gz
tar -czf images.tar.gz *.jpg
  • 解压
tar -xzf images.tar.gz

3、.tar.bz2

  • 压缩
tar -cjf images.tar.bz2 ./images/
  • 解压缩
tar -xjf images.tar.bz2

4、分卷解压缩

  • 分卷压缩:将alps这个文件夹分卷压缩,每卷100M;注意apls前的空格
tar -cjf -alps/ | split -b 100m - apls.tar.bz2
  • 分卷解压:将所有分卷合并;然后解压
cat alps.tar.gz2* | tar -xjvf

二、Linux下载torrent种子

1、通过官网Vuze - Azureus download | SourceForge.net下载Vuze;或者运行以下命令获取:

wget http://jaist.dl.sourceforge.net/project/azureus/vuze/Vuze_5710/Vuze_5710_linux.tar.bz2

2、解压Vuze_5710_linux.tar.bz2:

tar -zxvf Vuze_5710_linux.tar.bz2

3、运行azureus:

./azureus

4、点击azureus界面左上角的”Open Torrents“按钮,添加torrent文件,开始下载:

三、查看并杀死进程

查看进程

此时,查看所有的进程

ps -aux

杀死某进程

通过上述命令,获得进程的PID(假设为xxxx)

kill -s 9 xxxx

杀死全部python进程

有的时候进程占用CUDA没有释放,关掉了终端等等也没用,就通过以下方法释放所有被python占用的空间:

ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -9

四、Bash相关操作

(一)基础操作

1、新建并执行bash文件

$ vi hello.sh

(1)#!:说明hello.sh这个文件类型是bash程序,需要由/bin目录下的bash程序来解释执行
(2)#:表示注释
(3)echo:输出语句
(4)exit 0:退出bash,参数0表示正常结束

#! /usr/bin/bash
# This is a simple example
echo "Hello World!"
exit 0

创建文件后,使用bash命令执行shell脚本

$ bash hello.sh
或者
$ sh hello.sh
或者
$ chmod 755 hello.sh
$ .hello.sh

2、Shell脚本定义变量、赋值

#!/usr/bin/bashnum=100
PI=3.14
STR1="Hello"
str_2="World!!"echo ${num}
echo ${PI}
echo ${STR1}
echo ${str_2}exit 0

需要注意:赋值语句"="前后不能放置空格,否则会导致错误
输出:echo + ${变量名}

#! usr/bin/bashname='Blueblue'
str="Hello, my name is $name!"
echo $strexit 0

3、Shell输入、输出变量

#!/usr/bin/bashread AGE
echo "age=$AGE"exit 0

输入:read + 变量名
输出:echo "....+$变量名"

4、字符串

1) 获取字符串长度

# /usr/bin/bashread str1
echo ${#str1}

2)提取子字符串

# /usr/bin/bashstring="happy birthday"
echo ${string:0:5}

(二)基本语法

1、if-then-else-fi

if [condition1];
then command1;
else command2;
fi

或者

if [condition1];
then command1;
elif [condition2];
then command2;
else command3;
fi

condition的三种类型:(1)数值比较(2)字符串比较(3)文件比较

(1)数值比较

等于:-eq        不等于:-ne        大于:-gt        小于:-lt        大于等于:-ge
小于等于:-le        逻辑与:-a        逻辑或:-o

需要注意的是:[condition]需要加一对英文的中括号,并且括号两侧都需要有空格
for example:

#! /usr/bin/bash
# 数值比较num1=100
# -eq:等于
if [ ${num1} -eq 100 ];
then echo "num1=100";
else echo "num1!=100";
finum2=200
# -gt:大于
# -lt:小于
if [ ${num2} -gt ${num1} ];
then echo "num2>num1";
elif [ ${num2} -lt ${num1} ];
then echo "num1<num2";
else echo "num1=num2";
fi

(2)文件比较
(3)字符串比较

比较字符串相等:[[ $str1 == $str2 ]]        比较字符串不相等:[[ $str1 != $str2 ]]
检查字符串字母序:[[ $str1 > $str2 ]]       [[ $str1 < $str2 ]]
如果字符串包含空字符串:[[ -z $str1 ]]    包含非空字符串:[[ -n $str1 ]]

需要注意的是:最好使用双中括号
for example:

#! /usr/bin/bashstr1='abcd'
str2='abcd'if [[ $str1 == $str2 ]];
then echo "yes";
else echo "no";
fistr3='bbca'
if [[ $str1 > $str3 ]];
then echo "str1>str3";
else echo "str1<=str3";
fi

2、for

for i in $(range);
do command
done

(1)打印目录下所有的文件

#! /usr/bin/bashfor i in $( ls );
do echo item: $i
done

(2)打印序列

#! /usr/bin/bash
for i in $( seq 1 10 );
do echo $i
done

3、while

while [ condition ];
do command
done

#! /usr/bin/bash
counter=1
# echo "counter is $counter"
while [ $counter -lt 10 ];
do echo "the counter is $counter"counter=$(($counter+1))
done

(三)技巧

1、$0、$1、$2、$#、$@、$*、$?

假设执行 ./test.sh a b c 这样一个命令,则可以使用下面的参数来获取一些值:

  • $0 对应 "./test.sh" 这个值。如果执行的是 ./work/test.sh, 则对应 ./work/test.sh 这个值,而不是只返回文件名本身的部分。
  • $1 会获取到 a,即 $1 对应传给脚本的第一个参数
  • $2 会获取到 b,即 $2 对应传给脚本的第二个参数
  • $3 会获取到 c,即 $3 对应传给脚本的第三个参数。$4、$5 等参数的含义依此类推。
  • $# 会获取到 3,对应传入脚本的参数个数,统计的参数不包括 $0。
  • $@ 会获取到 "a" "b" "c",也就是所有参数的列表,不包括 $0。
  • $* 也会获取到 "a" "b" "c", 其值和 $@ 相同。但 "$*" 和 "$@" 有所不同。"$*" 把所有参数合并成一个字符串,而 "$@" 会得到一个字符串参数数组。
  • $? 可以获取到执行 ./test.sh a b c 命令后的返回值。在执行一个前台命令后,可以立即用 $? 获取到该命令的返回值。该命令可以是系统自身的命令,可以是 shell 脚本,也可以是自定义的 bash 函数。

【Linux操作】常用命令整理(持续更新中...)相关推荐

  1. svn拉取文件合并_svn常用命令——-自用——-持续更新中 | 学步园

    ============================================================ 博文原创,转载请声明出处 电子咖啡(原id蓝岩) ============== ...

  2. 你值得掌握的 Git分支等 常用命令 (持续更新中)

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) Git分支 一.本 ...

  3. linux技术笔记(常用命令)持续更新中。。。

    文章目录 1.Linux 下解压 .zip 和 .rar 文件 2. [Mac 终端命令大全](https://www.jianshu.com/p/3291de46f3ff) 3.Maven环境 本地 ...

  4. linux 常用命令,持续更新中~

    文章目录 文件操作相关 ls -- list pwd -- print working directory cd --change directory mkdir -- make directorie ...

  5. Linux新手训练营--命令大全(持续更新中)

    1. authconfig --passalgo=sha256 --update authconfig --test |grep hashing 查询当前密码加密算法 更改加密类型为更难破解的sha5 ...

  6. 【FTP】FTP常用命令,持续更新中……

    登录 ftp [IP]↩ 用户名↩ 密码↩ 查看ftp下的文件列表 ls↩ 进入ftp下的文件夹 cd [文件夹名]↩ 上传文件 put [将要上传的文件路径(含后缀)] [上传后的文件名(含后缀)] ...

  7. Java自学视频整理(持续更新中...)

    1.Java基础视频 <张孝祥JAVA视频教程>完整版[RMVB](东西网) 历经5年锤炼(史上最适合初学者入门的Java基础视频)(传智播客) 张孝祥2010年贺岁视频:Java高新技术 ...

  8. Linux简单知识点梳理(持续更新中)_莫韵乐的Linux王国

    Linux简单知识点梳理(持续更新中) Linux系统特点 特点 开放性 多用户 良好的用户界面 提供丰富的网络功能 设备独立性 可靠的系统安全 良好的可移植性 ##### Linux系统体系结构 名 ...

  9. 【 Linux 】常用命令总结(更新)

    通过需求去总结一些命令是记忆的一个好方法,正在实践中. 对文件以及文件夹的操作命令: touch test.txt                                   //创建一个二进 ...

  10. 工作中php遇到的问题以及常用函数整理(持续更新)

    说明 以下整理的文档是本人2017年从事php开发到目前遇到的问题的部分整理,因为上家公司有改错本这个东西,偶然间翻开,整理了一部分,后续遇到问题会持续更新,最新更新的内容会放到最前面. php开启错 ...

最新文章

  1. 一个案例说出python的十余个语法知识点
  2. 关于python搞笑段子_Python爬取内涵段子里的段子
  3. springcloud系列三 搭建服务模块
  4. 实现图片本地化 ServiceWorker + IndexedDB
  5. 信息学奥赛一本通 1985:【19CSPJ普及组】加工零件 | 洛谷 P5663 [CSP-J2019] 加工零件
  6. django-演练-老师列表页的显示-通过table显示
  7. node.js应用生成windows server的plugin——winser
  8. elk如何同步到es 方案靠谱吗_架构设计:微服务架构如何划分?这6个标准原则让你一目了然...
  9. 【AdaBoost算法】积分图代码实现
  10. python2.7_call
  11. 重构:如何去掉代码中的S味
  12. 43. Element hasAttributes() 方法
  13. 深入理解Linux中内存管理
  14. 基于LSTM网络的藏头诗和古诗自动生成(附完整代码和数据)
  15. 大数据时代下的网络安全与数据隐私论文
  16. 绿色环保静态网页设计
  17. python的一些技巧操作,提高编码效率
  18. 前端HTML5+CSS3学习笔记
  19. ts中any 、unKnown的区别
  20. 文件指针的运用 : 计算文件wj.txt内容的字节数

热门文章

  1. color demura原理_一种消除液晶屏高温MURA的工艺研究
  2. FW:Use Log4XX for Logging
  3. 财务管理----记账凭证
  4. 【Educoder作业】CC++指针实训
  5. 2019最新《Python从入门到精通之30天快速学Python教程 》
  6. Kotlin 协程与架构组件一起使用及底层原理分析,音视频开发前景
  7. 【游戏客户端】10分钟搞定红点系统
  8. Zxing系列之设置二维码图片背景透明教程
  9. 【XML】dom4j解析
  10. AES算法描述及C语言实现