Linux 基础学习_1

基本命令

pwd(print work directory)命令是查询所在目录的命令。
clear清屏命令。或者使用快捷键command+r。
ls (list files)列出来当前目录下所有的文件。
  • -a 罗列出所有的文件,包括隐藏文件。隐藏文件是以.开头的。隐藏文件的作用,是一些配置文件等等,平常不用的,怕在操作中误删除了。

  • -l 以长格式来显示文件的详细信息。

  • -i 加入ID号

  • -inum 通过ID来搜索

  • -h 显示大小单位k

  • -t 显示时按修改时间(最近优先)而不是按名字排序。若文件修改时间相同,则按字典顺序。

  • ls -a -l 可以联合使用的,注意中间有一个空格。也可以 ls -la

  • ls也可以在后面添加目录,直接扩列所添加目录中的文件等。

linux 文件颜色的含义
  • 蓝色文件——目录
  • 白色文件——一般性文件,如文本文件,配置文件等等
  • 绿色文件——可执行文件
  • 红色文件——压缩文件
cd(change directory)打开目录
  • cd … 切换到上一层目录 例如cd …/… 回到上一层目录的上层目录
  • cd / 切换到根目录
  • cd 直接切换到宿主目录
  • cd - 所在目录和上一个目录之间来回切换
  • cd 后面输入目录名字时,如果唯一,按一次tab就可以自动补全。如果有好几个,按一次Tab没有任何反应。需要按两次Tab,会罗列出所有的目录,然后自己再选择。
单引号
  • 文件名字中间有个空格,用单引号括起来,告诉我们这个是一个文件,以免误认。
方向键
  • 上:取代上一个命令

  • 下:取代下一个命令

通配符
  • *代表0个,或者多个字符。罗列特定格式的文件

    罗列TXT文件,即 ls *.txt

    罗列xls文件,即ls *.xls.

    罗列以1开头的文件,即ls 1*

    罗列以1开头的txt文件,即ls 1*.txt

  • ?代表一个字符

    罗列只有两个字符名称的txt.即ls ??.txt

    注意区别:ls 1*4.txt ls 1?4.txt

  • [ ]代表其中的一个字符

    如[123],1或者2或者3

    [1234][1234].txt(一定要理解是啥意思)

    [1-4].txt 连续的数字

    [ardf32]de.txt

相对路径和绝对路径
  • 相对路径:根据现在所处的路径,来计算要找的文件。
  • 绝对路径:以/开头,全部的路径.无论现在处于那个路径下,都可以找到目标文件。
touch 创建文件
  • 可以一次创建多问文件,空格隔开即可。 touch a b c d
mkdir 创建目录
  • -p 创建多级目录:mkdir -p file/file1/file2
$ mkdir file/file1/file2
mkdir: cannot create directory ‘file/file1/file2’: No such file or directory
(base) jjx 16:50:15 ~/wujian/presentation
$ mkdir -p file/file1/file2
(base) jjx 16:50:25 ~/wujian/presentation
rm 移除文件或者目录
  • -d 删除空目录
  • -r 删除有内容的目录
  • -rf 强制删除含有内容的目录
mv (move)移动文件夹/更改名字
  • mv test.txt aa移动test.txt到aa目录

    mv后面使用相对路径和绝对路径都可以。

    也可以移动一个目录到另外一个目录

  • 移动的时候可以顺便改个名字。例如。mv test.txt aa/1.txt

  • 可以通过移动命令更改名字 move file1 file2 将文件或者文件夹file1改为fil2

cp (copy) 拷贝文件或者目录
  • -r 拷贝目录:cp -r bb/kk . 复制bb文件夹下的kk文件夹到当前目录下.。
  • 当前目录"test/"下的所有文件复制到新目录"newtest"下,输入如下命令:cp -r test/ newtest
control + c 终止命令的执行
find专业搜索命令,查找文件或者目录等
  • -name /-iname可以忽略大小写
find /home/jjx -name "1.txt"
find /home/jjx -name "1*.txt" # *为通配符,代表一个或者多个。
  • -size
  • -mmin
  • -mtime (modify time 修改时间,这个是以天为单位,-n n天以为的;+n n天以前的)
find /home/jjx -name "file*" -type d -mtime -1 查找目录
find /home/jjx -name "file*" -type d -mtime -1 |xargs rm -rf {} \;      #|管道传输过来,{}代表前面搜索到的内容。\; 纯属格式要求。

  • -type
find /home/jjx -name "file*" -type f 查找文件
find /home/jjx -name "file*" -type d 查找目录
  • -a 两个条件都需要满足
  • -o 只满足其中一个条件
find bin/ -name run.sh 查找 bin 目录下名字为 run.sh 的文件。 
find ! -name tmp 该命令查找文件名不是 tmp 的所有文件。注意!
xargs 传参,给其他命令传递参数的一个过滤器

xargs 命令 是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。它擅长将标准输入数据转换成命令行参数,xargs 能够处理管道或者 stdin 并将其转换成特定命令的命令参数。xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs 的默认命令是 echo,空格是默认定界符。这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。xargs 是构建单行命令的重要组件之一。

多行输入,单行输出
cat test.txt | xargs
  • -n 多行输出
cat test.txt | xargs -n3
  • -d 可以定义一个定界符
$ echo "nameXnameXnameXnameXnameXnameXnameXnameXname" | xargs -dX
name name name name name name name name name
$ echo "nameXnameXnameXnameXnameXnameXnameXnameXname" | xargs -dX -n3
name name name
name name name
name name name
-exec命令(目前只看懂一种,作为find 的一个选项)
(1)在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行 
find ./ -name "*.txt" -exec grep "bin" {} \; 
(2)在当前目录下(包含子目录),删除所有txt文件 
find ./ -name "*.txt" -exec rm {} \; 
locate搜索名字中包含有 的文件,或者目录
  • 更新不及时,强制更新可以使用updatedb,这时候有可能会报错,因为需要超管权限。这时候使用sudo命令

    即sudo updatedb

cat显示文本内容,适用于内容少的时候;合并文件。
  • -n显示行号,不去除空行
  • -b显示行号,去除空行
cat file1 file2 > file3 ##1和2合并成3
more显示文本内容,适用于内容多的时候,分页显示
  • 空格键 向下滚动一屏

  • q 退出more

head查看前10行
  • -n 显示的行数,例如查看前21行,即:
head -n 21 big
head -21 big
  • -c 显示的字节数,例如查看前3个字节(一个汉字是两个字节,一个中文标点是3个字节),即:
head -c 3 big
tail查看最后10行
  • 用法和参数同head一样
nl 用来计算文件中行号。默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
  • -b :指定行号指定的方式,主要有两种:

    ​ -b a :表示不论是否为空行,也同样列出行号(类似 cat -n);

    ​ -b t :如果有空行,空的那一行不要列出行号(默认值);

  • -n :列出行号表示的方法,主要有三种:

    ​ -n ln :行号在萤幕的最左方显示;

    ​ -n rn :行号在自己栏位的最右方显示,且不加 0 ;

    ​ -n rz :行号在自己栏位的最右方显示,且加 0 ;

  • -w :行号栏位的占用的位数。


grep 抓取文件中特定的内容。只要包含的行,都会被打印出来。
  • -n 显示行号,这个里面是含有空行的。

  • -v 排除以后的。

    grep nihao big #在big文件中查找含有nihao的行,并打印出来
    grep -n nihao big #在big文件中查找含有nihao的行,并打印出来含有行号的行。
    grep -v nihao big #在big文件中查找不含有nihao的行。
    
  • ^X 以X开头的行

    grep ^n big #在big文件中查找以n开头的行
    
  • X$以X结尾的行

    grep t$ big #在big文件中查找以s结尾的行
    
  • -i不区分大小写

    grep -v ^'#' /etc/services
    

注意一下两种的区别

$ cat -b small | grep "\-a"
    12	​	-a 显示出来隐藏的文件,罗列出所有的文件。隐藏文件是以.开头的。隐藏文件的作用,是一些配置文件等等,平常不用的,怕在操作中误删除了。
    16	​	ls -a -l 可以联合使用的,注意中间有一个空格。
(base) jjx 08:19:50 ~/wujian/presentation
$ grep -n "\-a" small
20:​	-a 显示出来隐藏的文件,罗列出所有的文件。隐藏文件是以.开头的。隐藏文件的作用,是一些配置文件等等,平常不用的,怕在操作中误删除了。
28:​	ls -a -l 可以联合使用的,注意中间有一个空格。
echo回显,将输入信息写入到文件中
echo nihao > 1.txt #覆盖原来的文件内容 
ll > 1.txt #把ll罗列出来的信息覆盖到1.txt
ll >> 1.txt #把ll罗列出来的信息追加到1.txt
|管道 经常和more、grep等命令一致使用
ll | grep 1.txt #抓取罗列信息中,含有1.txt的行
ln 创建连接到当前目录下
  • ln aa/abc abc_softlink

  • 后面用的时候,可以直接查看连接内容,例如 cat softlink

sed 可依照脚本的指令来处理、编辑文本文件;主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
参数
  • -e 以选项中指定的script来处理输入的文本文件
  • -n 仅显示script处理后的结果
  • -i 写入
动作
  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
  • i : 新增, ai的后面可以接字串,而这些字串会在新的一行出现(目前的上一行)
sed [-hnV][-e<script>][-f<script文件>][文本文件]
sed -e 4a\newline log2012.log  #在第4行的下一行,第5行,插入newline,并print,原文件没有变
sed 4a\newline log2012.log     #在第4行的下一行,第5行,插入newline,并print,原文件没有变
sed '4a newline' log2012.log   #在第4行的下一行,第5行,插入newline,并print,原文件没有变
sed '4i newline' log2012.log   #在第4行的上一行,第4行,插入newline,并print,原文件没有变

sed -i 4a\newline log2012.log  #在第4行的下一行,第5行,插入newline.写入原文件中!


sed -n '5,10p' big #只查看文件的第5行到10行(若没有这个-n回重复显示)
sed -n '5,$p' big #查看文件的第5行到最后
sed -n '/nihao/p' big #只查看文件中含有nihao字符串的行
sed -e 's/nihao/hello/g' big 替换并打印结果
sed -i 's/nihao/dajiahao/g' big 替换并写入
  • d 删除,多行时,用;隔开。
sed '1,3d' 1.txt #删除1-3行
sed '1,3d;6,$d' 1.txt  #删除1-3,和6-最后。只保留4,5行
  • p 重复
sed '1,$p' log2012.log #文件中的每一行都重复显示
awk 是一种处理文本文件的语言,是一个强大的文本分析工具。
awk '{print $1,$2}' log.txt 打印出第一列和第二列
sort 命令,对文档的内容加以排序ASCII码
sort testfile  #顺序排列
sort -r testfile #逆序排列
uniq 检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用
  • -c count
  • -u unique
  • -d repeated
uniq testfile #删除连续重复行,只留一行
uniq -c testfile #统计显示出现重复的次数,放在第一列
uniq -u testfile #只显示不重复行
uniq -d testfile #只显示重复行
wc 计算字数
  • -c字节数

  • -l行数

  • -w字数

wc -wlc testfile
split命令
  • -<行数> : 指定每多少行切成一个小文件,在默认情况下将按照每1000行切割成一个小文件
  • -b<字节> : 指定每多少字节/M/G切成一个小文件
split -11 testfile spli #spli为前缀,spliaa,spliab,spliac
split -b 100 testfile by #默认的是字节
cut 截取文件中每一行的某段文字 -c m-n
cut -c 1-4 testfile
tar 打包,就是原来文件加到一起.-zvf(czvf.xzvf)

List: tar -tf
Extract: tar -xf
Create: tar -cf [filenames…]

gzip 对文件进行压缩,原来的就没有了.gz
  • -d 将压缩文件解压
  • -l 对每个压缩文件,显示压缩文件的大小、未压缩时大小、压缩比及文件压缩前名字
  • -num 可以设置压缩速度
gzip file1 file2 …分别压缩这几个
gzip -d file1.gz 解开压缩
zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip
zip OPTIONS ARCHIVE_NAME FILES
unzip为.zip压缩文件的解压缩程序
scp (secure copy)
awk
sed
vim /vi

系统管理

useradd 用来添加用户
  • useradd jjx。如果权限不够,加sudo.
  • passwd 设置新密码。后面不接其他用户名的话,更改当下密码。
su 切换用户
  • su root

  • su root切换到root用户

  • exit或control D 退出用户

  • su user1 切换到user1用户

  • su – user1 直接切换到user1的home目录下

  • userdel删除用户 userdel user1

  • userdel -r user1 -r同时删除他自己的家目录

  • userdel -f user1 -f强制删除用户,即使在登陆状态

  • groupadd 添加用户组

  • groupmod groupnew1 group1 给用户组改名字

  • groupdel 删除用户组

shell (还没有弄明白)
chmod 用来变更文件或目录的权限
  • u符号代表当前用户。
  • g符号代表和当前用户在同一个组的用户,以下简称组用户。
  • o符号代表其他用户。
  • a符号代表所有用户。
  • r符号代表读权限以及八进制数4
  • w符号代表写权限以及八进制数2
  • x符号代表执行权限以及八进制数1
  • +符号代表添加目标用户相应的权限。
  • -符号代表删除目标用户相应的权限。
  • =符号代表添加目标用户相应的权限,删除未提到的权限。
# 添加组用户的写权限。
chmod g+w ./test.log
# 删除其他用户的所有权限。
chmod o= ./test.log
# 使得所有用户都没有写权限。
chmod a-w ./test.log
# 当前用户具有所有权限,组用户有读写权限,其他用户只有读权限。
chmod u=rwx, g=rw, o=r ./test.log
# 等价的八进制数表示:
chmod 754 ./test.log
chown 修改拥有者
top能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
  • q离开此命令
ps 显示用户的运行程序或系统程序

实际操作的一些命令

查看fa文件中有多少个样品?

awk 'BEGIN{FS="_"}{print $1}' valid.BIO-jiaojinzhen.jiaojinzhen.341F_806R.format.fasta|grep \>|uniq > total_number_samples
nl total_number_sample
sed -i 's/^>//' total_number_samples #去掉“行首”的这个>
 sed -i 's/^>//' total_number_samples #去掉“行首”的这个>
 sed -i 's/^@//' file    #去掉“行首” 带“@”的首字母@
perl /home/jjx/wujian/meta/diver_pipe.pl -f /data/jjx/16s/Data/valid.BIO-jiaojinzhen.jiaojinzhen.341F_806R.format.fasta -spe 16s_bacteria -o /home/jjx/wujian/16s_113/Result -venn G-V -order /home/jjx/wujian/16s_113/Result/sample.order -map /home/jjx/wujian/16s_113/Result/group.txt -comp S-T -data T:/home/jjx/wujian/16s_113/Data/output/ -infor /home/jjx/wujian/16s_113/Result/information.txt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值