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
原文地址:https://www.cnblogs.com/adawong/p/7429873.html