跳转至

这是Linux的操作系统,使用的VMware 安装的虚拟机的操作系统

切换用户su

su -切换回root目录(需要输入密码,Linux下输入的密码是不可见的) su - chaim 切换到chaim用户模式下 passwd 更改当前用户的密码 切换用户时,一定要使用su - 用户名,中间的-不能省略,如果省略则使用的还是切换前的用户的环境变量。 我使用不同的账户时,直接使用su chaim结果就是,账户的perl无法使用,经过反复查找,才发现是切换的方法不正确,省略了-,导致环境变量没有切换。

进程守护和结束

进程守护

nohup ascp -i /share/home/jialj/.aspera/connect/etc/asperaweb_id_dsa.putty --mode recv --host ftp-private.ncbi.nlm.nih.gov --user anonftp --file-list SRR_Download_List_file_list.txt ./ &nohup 你的任务 &来守护进程,即使退出当前连接,进程仍然会在后台进行。 此处退出时,使用logout退出远程连接。非正常退出终端,nohup的进程会被kill掉。

进程守护之Screen

在使用nohup时,可能会在输出文件添加说明性内容,结果会导致后续程序报错。 所以建议,在运行命令时,指定log输出文件,

#此处的2 后面的时输出log的文件夹 
nohup ascp -i /EDE/lk.putty XXXX 2 >ascp_output_info &

除了nohup还有screen,也是很好用的后台挂起的命令。 screen常用命令

#新建一个名字为hello的session,直接进入到该session
screen -S hello
#退出当前的session,CTRL+A+D  ,但是该session仍然在后台运行
同时按下CTRL+A+D
#查看所有的screen session
screen -ls
#返回hello session
screen -r hello
#结束当前session ,并前往test session
screen -d -r test
# 离线hello这个session
screen -d hello 
#恢复离线的hello session
screen -x hello 
进程结束

ps -efww|grep ascp |grep -v grep|cut -c 9-15|xargs kill -9 结束ascp程序的所有进程。 可以更换中间的ascp为任何想要结束的程序的名字 说明:管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。 ps -efww是查看所有进程的命令。这时检索出的进程将作为下一条命令grep的输入,注意要结束其它程序时,请将上面命令中的vim替换成其它程序名。 grep -v grep是在列出的进程中去除含有关键字“grep”的进程。 cut -c 9-15是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。 xargs kill -9中的xargs命令是用来把前面命令的输出结果(PID)作为kill -9命令的参数,并执行该命令。 kill -9会强行杀掉指定进程,这样就成功清除了同名进程。

切换到不同的目录位置cd

cd ~ 快速进入/home/chaimol目录 (在非root用户模式下 ) cd - 返回进入本目录前所在的目录 mkdir newfile 创建一个名字为newfile的文件夹 cd ../ (进入上一级目录)
cd ./home (进入同级的home文件夹) mkdir name新建一个名字是name的文件夹 touch myfirst.txt 新建一个名字为myfirst的txt文件 rm -rf myfirst.txt 删除名字为myfirst.txt的文件 ln -s /home/user/smpamples.peopleRNAseq/ /home/f 设置超连接,用home目录下的f文件夹软超连接到/home/user/smpamples.peopleRNAseq/目录。访问/home/f,,就相当于访问上述目录。

复制cp

cp inex.html testBaidu 复制index.html到testBaidu文件夹内(会自动把时间戳改为当前的时间戳) cp -p index.html testBaidu 复制index.html到testBaidu文件夹内(时间戳仍然是源文件的时间戳) cp index.html index.css index.js testBaidu 复制index.html,index.css,index.js文件到testBaidu文件夹内 cp -r cat dog 把cat文件夹复制到dog文件夹内

移动、重命名mv

mv cat dog cat重命名为dog mv cat/ dog/ cat文件夹内容移动到dog文件夹,同时删除cat文件夹 rm index.html 删除index.html 会要求确认是否删除,输入y,则删除。 rm -f inex.html 删除index.html ,不要求再次确认。 rm -r dog/ 删除dog文件夹,需要再次确认,输入y,则删除。(删除文件夹时,则会进入该文件夹,要求你一一确认是否删除文件夹里的每一项) rm -rf dog/ 删除dog文件夹,不需要再次确认。

查看文件夹内容ls

pwd 显示当前所在的目录 dir 查看目录内容(只显示文件名) ls -l 查看所在目录内容(包括文件名和时间等详细列表)
ls -la 查看包含隐藏文件在内的本目录所有内容(文件大小全部显示以字节为单位显示) ls 显示当前所在的目录内容(只显示文件名) ls / 显示根目录的内容 ls -a 显示本目录内包含隐藏文件在内的所有文件(只显示文件名) ls -ld 显示本目录自身的信息 ls -lh 显示本目录下所有内容(以列表的形式,只是文件大小会以合适的单位表示) file index.css 确认index.css的文件格式 cat index.css 打开index.css文件查看文本文件 less index.txt查看index.txt文件

使用less打开后命令

g 返回头部 G 返回底部 /chaimol 搜索chaimol n 搜索后的操作。小写的n向上搜索 N大写的N,向下搜索。 (键盘按键)pageUp 上一页 (键盘按键)PageDown 下一页 q 退出

Linux的日期是以1970年1月1日为1,开始计算天数的。例如3,表示1970年1月3日。

目录系统(Linux系统文件名区分大小写)

1.home目录 root用户的目录是/root 普通用户的目录是/home/用户名 2.bin目录 常用的可执行文件 /bin、/usr/bin、/sbin等 3.外部设备mountpoint /media、/mnt 当检测到设备时会自动挂载 4./etc,系统配置文件 5./tmp,临时文件 6./boot 系统内核和开机必要文件 7./dev 系统所有的设备文件 8./usr
unix system resource(系统文件) 保存程序的相关文件 9./lost+found 每个分区都会自动创建 10./var、/srv(保存数据库数据等,会自动增大) 11./proc 12./lib、/usr/lib、(可复用的库)

更改文件的权限

r 读 w 写 x 执行

更改文件的权限的方式

使用ls -l查看目录文件的详细列表包括使用权限日期内容等。 例如:下面的 drwxrwxr-x 3 root root 4096 05-31 17:25 perm
前面的d是目录文件,依次是U(拥有者)G(用户组)O(其他)的权限。 这里是d(目录)rwx(拥有者——拥有读写执行权限)rwx(用户组——拥有读写执行权限) r-x(其他——拥有读执行的权限) 1. 使用字符表示法 chmod [-R] UGO+rwx perm //将perm目录(如果添加了—R,则更改权限包括目录下所有文件)权限更改为全部具有读写执行操作。 2. 使用数字模式 r 4 w 2 x 1 没有权限是0 chmod 777 perm//将perm目录权限更改为全部具有读写操作。 3. 使用可视化界面改变

压缩打包 压缩工具 Linux支持的压缩格式 1. .Z ,compress程序压缩文件 2. .gz ,gzip程序压缩文件 3. .bz2 ,bzip2程序压缩文件 4. .tar ,tar程序打包文件,并未压缩 5. .tar.gz ,tar打包的档案,使用gzip压缩 6. .tar.bz2 ,tar打包的文件,使用bzip2压缩

gzip压缩工具

gzip perm压缩perm gzip -c perm >perm.gz 压缩perm,同时保留原文件。 gzip -cv perm.gz 显示perm.gz的压缩比 gzip -c perm 压缩文件perm gzip -d perm.gz解压缩perm.gz文件 1、gzip  [-cdtv#]  文件名称   1)扩展名为*.gz   2)-c:将压缩的数据输出到屏幕上   3)-d:解压缩的参数   4)-t:进行文件的一致性校验看是否损坏   5)-v:显示和原文件相比的压缩比   6)-#:压缩等级,-1最快,-9最慢,默认是-6 

2、bzip2  [-cdkzv#]  文件名称   1)扩展名为*.bz2    2)-c:将压缩的数据输出到屏幕上   3)-d:解压缩的参数,该参数代表执行解压缩操作   4)-k:保留原文件并不删除原始文件   5)-z:压缩的参数,该参数代表是执行压缩操作   6)-v:显示和原文件对比的压缩比   7)-#:压缩等级,-1最快,-9最慢,默认是-6 

Linux文件打包指令

1、tar   [-jcv]  –f  finaname.tar.bz2  待压缩的档案或者目录名   将某个文件或者目录打包并使用bzip2压缩成一个文件  2、tar   [-jxv]  –f  filename.tar.bz2  –C  解压缩的目录   将压缩文件解压缩至特定的目录  3、参数解释   1)-c:建立打包档案   2)-t:查看打包的文件都有哪些文件名   3)-x:解压缩或者解打包文件,和-C搭配使用解压缩至特定目录   4)-j:通过bz2支持进行压缩或者解压缩   5)-z:使用gzip进行压缩或者解压缩   6)-v:将正在处理的文件名显示出来   7)-f:紧跟要被处理的文件名,建议单独写一个选项  3.使用zip压缩打包 zip -f filename.zip 文件夹名 //使用zip压缩

vi编辑器(记事本) vim编辑器(编写代码使用,全面兼容vi的指令) vi常用的命令 vi perm 打开文件perm,如果不存在,则会在保存时,新建并保存该文件。 vi的三种模式 1)命令模式,可以移动光标,修改、删除、复制、搜索 2)插入模式,通过a或者i或者o进入,可以修改文件内容 3)扩展模式,在insert,模式下先按下Esc键(左上角),再按冒号: 通过:进入,退出、保存、查找替换

4.命令行下删除更改复制 Change Delete Yank(copy) Line cc dd yy Letter cl dl yl Word cw dw yw

5、撤销操作 1)u,撤销最近一次的修改,undo 2)ctrl-r,取消最后一次的撤销,redo 3)U,撤销所有修改 6、查找操作 1)/text,向后搜索 2)?text,向前搜索 3)n,(按下n键)搜索下一个同样的内容 4)N (按下n键和shift键) 搜索上一个同样的内容 7、粘贴操作 1)用p粘贴复制、修改或者删除的数据 2)对于行,p粘贴在行上,P粘贴在行下 3)对于字符,p粘贴在字符右侧,P粘贴在字符左侧 8、命令模式下的一些技巧 1)dtc,删除从光标到c之间的所有字符 2)rc,将光标下的字符替换为c 3)dw删除游标处所在的字符 4)5dd,删除5行数据 5)5yy,复制5行数据 6)5x,删除5个字符 7)R,进入替换状态,esc退出 9、保存、退出,进入扩展模式 1):w,保存 2):q,退出 3):wq,保存并退出 4):w!,强制保存 5):q!,强制退出 6):wq!,强制保存退出

vi编辑器的进阶使用 1、文件内定位 1)G,跳转到文件最后一行 2)1G,跳转到文件的第一行 3)ctrl+d,往下滚动半屏 4)ctrl+u,往上滚动半屏 2、屏幕定位相关 1)H,跳转到本屏显示的第一行 2)M,调转到本屏显示的中间一行 3)L,跳转到本屏显示的最后一行 4)z+Enter,使当前的行成为屏幕显示的第一行 5)z-,使当前行成为屏幕的最后一行 3、查找并批量替换 1)通过sed来查找 2)默认对当前行进行查找 3)1,10,对1-10行进行查找 4)1,$ %,对整个文件查找 4、读取和保存 1):r file,将另外一个file的内容读入到当前文件 2)1,20 w file,将1-20行的内容写入到一个新的file中 3)1,$ w file,将整个文件写入一个新的file 4)1,20 w>>file,将1-20行数据追加到file中 5):n,跳到下一个文件 6):rew,回到第一个文件 5、查找并批量替换 1)通过sed来查找 2)默认对当前行进行查找 3)1,10,对1-10行进行查找 4)1,$ %,对整个文件查找 6、读取和保存 1):r file,将另外一个file的内容读入到当前文件 2)1,20 w file,将1-20行的内容写入到一个新的file中 3)1,$ w file,将整个文件写入一个新的file 4)1,20 w>>file,将1-20行数据追加到file中 7、设置 1):set,显示常用的配置选项 2):set all,显示所有的配置选项 3):set number,设置行号

下载文件 wget https://www.baidu.download.min.css //从指定网址下载文件 wget https://www.baidu.download.min.css --no-check-certificate //当遇到ssl错误时,后面添加该命令。可解决无法下载的问题。 cal >pem2 //cal是输出日历命令,后面的大于号(重定向),是把屏幕的输出保存到perm2里。如果perm2不存在,则新建并保存输出的数据。注意:执行此操作会替换文件里原有的内容。 cal >>pem2 //这里的两个大于号(重定向),是追加到pem2,并保存。

mkdir test&&cd test&&touch baidu.txt //这里连接几个命令用的是&&,只有在前一个命令正确执行后,后一个才会继续执行。 bash1||bash2 //这里的|| 表示,只有前一个命令执行错误时,才会执行后一个命令。

管道命令

管道符是|

cat perm |wc -l //统计perm里有几行内容 cat perm |wc -w //统计perm里总共有几个词 cat perm |wc -m //统计perm里字符数

更改环境变量 vim ~/./.bashrc在其后面增加内容后,执行source ~/./.bashrc vim /etc/profile 在其后面增加内容后,执行source /etc/profile export 查询环境变量 echo $PATH单独查看PATH环境变量

mysql数据库的连接 详细地址: [http://www.cnblogs.com/mfryf/archive/2012/02/12/2348164.html] mysql -u root -p 123 //连接数据库 用户名为root ,密码为123

mysql数据库里面的操作命令 show databases; //显示当前所有的数据库名 create database phplesson1; //创建新的名为phplesson1的数据库。 use phplesson1; //使用名为phplesson1的数据库。 source lesson1.sql; //导入表名为phplesson1.sql的表 source userinfo.sql; //导入表名为userinfo.sql的表

pm2使用 $ npm install pm2 -g # 命令行安装 pm2 $ pm2 start app.js -i 4 # 后台运行pm2,启动4个app.js # 也可以把'max' 参数传递给 start # 正确的进程数目依赖于Cpu的核心数目 $ pm2 start app.js --name my-api # 命名进程 $ pm2 list # 显示所有进程状态 $ pm2 monit # 监视所有进程 $ pm2 logs # 显示所有进程日志 $ pm2 stop all # 停止所有进程 $ pm2 restart all # 重启所有进程 $ pm2 reload all # 0 秒停机重载进程 (用于 NETWORKED 进程) $ pm2 stop 0 # 停止指定的进程 $ pm2 restart 0 # 重启指定的进程 $ pm2 startup # 产生 init 脚本 保持进程活着 $ pm2 web # 运行健壮的 computer API endpoint (http://localhost:9615) $ pm2 delete 0 # 杀死指定的进程 $ pm2 delete all # 杀死全部进程

rename命令

批量重命名文件

#把所有以R18019091开头的文件重命名为w开头。
rename R18019091 w R18019091*

shell脚本使用

新建名为test.sh的shell脚本文件 内容如下

#!/bin/bash //使用bash解析器 echo "hello world!"//屏幕输出hello world chmod 777 test.sh //使脚本具有执行权限

eval是个好工具 例如:

date //Fri Apr 13 21:32:10 DST 2018 echo date //date eval `echo date` //Fri Apr 13 21:32:10 DST 2018

简单说,eval可以对命令里的变量进行二次运算。相当好用的命令。

回到页面顶部