linux 基本命令___0001
参考公众号:生信媛
参考链接:每天一个linux命令(61):wget命令
参考链接:《sort帮你排序》-linux命令五分钟系列之二十六
参考链接:每天一个linux命令(34):du 命令
参考链接:shell后台进程 fg bg wait等用法
参考链接:Shell脚本之:EVAL and EXEC command
#wget [OPTION]... [URL]...
wget -c ftp://ftp.solgenomics.net/tomato_genome/assembly/build_3.00/ReleaseNotes.txt
#-c, –continue 接着下载没下载完的文件
#curl [options...] <url>
curl -O ftp://ftp.solgenomics.net/tomato_genome/assembly/build_3.00/ReleaseNotes.txt #保留远程文件的文件名
curl -o xxx.file ftp://ftp.solgenomics.net/tomato_genome/assembly/build_3.00/ReleaseNotes.txt #对文件重命名
#-o, --output FILE Write to FILE instead of stdout
#-O, --remote-name Write output to a file named as the remote file
#-C, --continue-at OFFSET Resumed transfer OFFSET
#查看文件的前5行和后7行
(head -5; tail -7) < xxx.file
#从第5行开始显示文件
#利用该命令可快速去除文件的注释行
tail -n +5 xxx.file
#调试
command1|less
command1|command2|less
command1|command2|command3|less
grep -v "#" xxx.file
#-v --revert-match #显示不包含匹配文本的所有行。
#提取指定列
cut -d "," -f 1-5 xxx.file > sub_xxx.file
#排序
#sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将它们按升序输出。
#sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件
sort xxx.file
sort -u xxx.file # -u 去除重复行
sort -r number.txt # -r 排序方式是降序
sort -r number.txt -o number.txt #把排序结果输出到原文件
sort -n number.txt #-n 以数值大小排序
sort -n -k 2 -t : xxx.file #使用冒号作为间隔符,并针对第二列来进行数值升序排序
#-t 指定分隔符
#-k 指定列数
#使用冒号作为间隔符,并统计第三行数据有几类,排序,并对每一类计数
cut -d: -f3 xxx.file |sort |uniq -c
----------
#du查看目录大小,df查看磁盘使用情况
df -hl #显示本地文件系统使用信息,不考虑挂载的盘
df -h #查看每个根路径的分区大小及其他使用信息
du #查看目录或者文件所占空间
du -sh dir/ #返回该目录的大小
du -sm dir/ #返回该目录总M数
du -h --max-depth=1 #输出当前目录下各个子目录所使用的空间
#-s, --summarize display only a total for each argument
#-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
#--si like -h, but use powers of 1000 not 1024
#-m like --block-size=1M
jobs————查看在后台执行的进程
fg %n———-将后台执行进程n调到前台执行,n表示jobnumber(通过jobs查看的进程编号,而非pid)
ctrl+z———-将在前台执行的进程暂停
bg %n———将在前台暂停的进程,调到后台继续执行
ctrl+c———-前台进程终止
kill %n———杀掉后台运行的进程,n表示jobnumber(通过jobs查看的进程编号,而非pid)
kill -9 PID ———杀掉运行的进程
##script.sh
echo "Name of this script: $0."
echo "First argument: $1."
echo "Second argument: $2."
echo "There are $# arguments."
eval echo "Last argument: \$$#."
#结合"eval"命令和"\$$#"可get此脚本最后一个参数的内容
#第一遍扫描后,shell把反斜杠去掉了。当shell再次扫描该行时,它替换了$n的值,并执行echo命令
##用法:eval command-line
##原理:eval主要用在对参数的特殊处理上面的,该命令后面所跟的内容都认为是参数,但是会两次扫描其参数,第一次扫描会将参数中的变量进行替换,第二次扫描会将后面的参数当作一个shell中的命令组合来执行命令。
#用户创建于修改
useradd #添加用户
passwd #为用户设置密码
usermod #用于修改用户的基本信息
#语法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
#参数:
# -c<备注> 修改用户帐号的备注文字。
# -d登入目录> 修改用户登入时的目录。
# -e<有效期限> 修改帐号的有效期限。
# -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
# -g<群组> 修改用户所属的群组。
# -G<群组> 修改用户所属的附加群组。
# -l<帐号名称> 修改用户帐号名称。
# -L 锁定用户密码,使密码无效。
# -s 修改用户登入后所使用的shell。
# -u 修改用户ID。
# -U 解除密码锁定。
#添加用户到指定组
usermod -a -G group<组> users<用户名>
#查看用户所属组
groups users<用户名>
#查看当前登陆的用户及相关信息
w
who
finger
finger users
#查看uid|gid|groups
id