1、cd命令用于切换当前工作目录至dirName(目录参数),dirName可为绝对路径也可为相对路径,如果省略dirName,则切换至使用者的home目录。
语法
cd dirName #:cd后接空格,再接目录参数
实例进入Desktop/test
代码如下:
可以
[ FJC@localhost ~]$ cd Desktop/
[ FJC@localhost Desktop]$ cd test/
也可以
[ FJC@localhost ~]$ cd Desktop/test/
2、创建文件
touch fileName创建文件,
例如输入 touch test.sh 回车创建一个名叫test的shell文件
3、编辑文件
nano fileName打开并编辑文件
例如输入 nano test.sh回车打开并编辑刚刚创建的test.sh文件
在文件中输入以下内容:
inputPath="/mnt/RNASeq/Result" fileName="202308071824_210901003_2D230327074US2S2745DX" echo ${inputPath}/L01/${fileName}_L01_S001.fa
Ctrl + X退出编辑器,然后输出Y并回车保存文件
4、查看文件中内容
cat
输入 cat test.sh可以查看test.sh中的内容
vi或vim
也可以通过vi test.sh或vim test.sh查看test.sh中的内容
输入shift+:后输入wq回车退出
如果发生编辑则需要先输入Esc键退出编辑模式,再输入shift+:后输入wq回车退出
输入 sh test.sh运行shell脚本则会输出以下内容
/mnt/RNASeq/Result/L01/202308071824_210901003_2D230327074US2S2745DX_L01_S001.fa
less查看大文件
less 文件名
查看.gz压缩文件
zcat filename.gz | less
5、复制文件夹及其内容并重命名
cp -r 源文件 新路径及名称
6、文件重命名
使用mv命令
mv命令是Linux中用于移动或重命名文件和目录的命令。要重命名文件,可以使用以下语法:
mv 原文件名 新文件名
例如,要将文件oldfile.txt重命名为newfile.txt,可以运行以下命令:
mv oldfile.txt newfile.txt
7、删除文件或文件夹
rm 加文件名,删除文件
rm -r 加文件夹名,递归删除文件夹及其内容
有时会有进程占用导致文件或文件夹无法删除,可通过以下命令查看占用进程
8、查看文件占用进程
例如 lsof -w | grep Python-3.12.1/.nfsb89d4386bdaa64440000003e
第一列(python)为占用的进程名,第二列(2171810)为占用的进程ID
9、查看进程
输入ps或者top或者top -u 加用户名,有时用户名两侧需要加引号“”
10、杀死进程
kill 加进程ID(进程ID可通过ps或top或top -u 加用户名查看),有时会杀不死,可以改为
kill -9 加进程ID,强制杀死进程
命令pkill可以根据进程名杀死进程,而不需要知道进程的ID,例如杀死名为python的进程,只需要输入
pkill python单击回车即可,或者输入
pkill -9 python 强制杀死名为python的进程
killall命令也可以根据进程名杀死进程,例如killall python或者killall -9 python
11、解压缩
tar -xf 文件名,例如:
tar -xf Python-3.12.1.tgz
12、批量文件修改时间戳同系统时间
在目录输入如下命令后回车
touch *
13、临时修改环境变量路径
export PATH=期望的路径:PATH
14、获取当前目录及其子目录下的某类文件的绝对路径到txt文件中
例如:
find $(pwd) -name *.MapGenome.sort.bam >list.txt
15、文件中内容进行排序
例如:
sort list.txt -o list.txt #从小到大排,并将输出内容覆盖源文件 sort -r list.txt -o list.txt #从大到小排,并将输出内容覆盖源文件
16、wait 等待节点前命令处理完,在执行其后的命令
17、less以只读模式查看文件内容
less [option]<filename> less file #分段查看大文件 less -N file #分段查看大文件并显示行号
less -S file #切除文字比较长的行(根据屏幕大小显示,只显示屏幕宽度容纳的长度)
zcat file | less -S -N #分段查看压缩文件
18、查看大文件的末尾10行
tail filename -n 10
19、指定起始位置截取字符串
1)从左边开始计数
格式:
$(str:start:length)
从str字符串的左边第start个字符开始,向右截取length个字符
$(str:start)
从str字符串的左边第start个字符开始,向右截取至尾
2)从右边开始
格式:
$(str:0-start:length)
从str字符串的右边第start个字符开始,向右截取length个字符
$(str:0-start)
从str字符串的右边第start个字符开始,向右截取至尾
参考Linux扩展篇-shell编程(八)-shell字符串截取 - cavan丶keke - 博客园 (cnblogs.com)
20、创建文件夹、多级目录
mkdir directory 创建一个名为"directory"的目录
mkdir -p parent/child 创建一个名为"parent/child"的多级目录
21、查看文件内容并赋值给变量
*.awk:列出所有以awk结尾的文件
1?.tgz:列出所有以1开头,后面跟一个字符,并且以tgz结尾的文件。
[a-d]*.zip:列出所有的a-d范围字母开头,并以zip结尾的文件
*.[^awk]*:"^"表示取反,命令含义为列出所有非awk结尾的文件,随后一个*不可缺少,否则仅匹配一个字符
{*.zip,a?.awk}:{}表示一个集合,命令含义是列出所有以zip结尾的文件和所有a开头,后面跟一个字符以awk结尾的所有的文件。{}内容是或的意思
23、更改文件夹权限
$sudo chmod -R 777 路径
24、查看文件夹大小
df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但不能统计文件大小
例如:df -h
参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式
du:查询文件或文件夹的磁盘使用空间,可以通过--max-depth指定深入目录的层数
例如:du -h --max-depth=2 $(pwd) 深入当前目录下两级进行统计
参数pwd表示当前目录