## From 生物技能树
第一节课
准备工作:
下载Termius(连接服务器&传输数据), 同时支持SSH 功能 (负责把命令传输
到服务器上) 和SFTP功能 (负责把文件传输到服务器上) 的软件.
一.登陆服务器的两种方法:
1.命令行法:
2. Termius 填表法
注:如果显示的是自己的用户名 则表示登录成功
2
2.退出服务器
如何退出登录?exit
3.修改命令行配色
echo 'export PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\]"' >> ~/.bashrc source ~/.bashrc
4.文件传输
1.从SFPT上传数据到服务器,也可以从服务器拖拽下来
2.使用如下命令解压缩文件,
tar -zxvf data.tar.gz
5.与路径有关的符号
. 当前目录
.. 上一级目录
~ 家目录
/ 只有当/在路径的最前边时才是根目录,其他位置的/都是目录层级分隔符.
二.Linux命令格式
命令+参数+文件
command [-options [parameter]] [file]
command:命令名,相应功能的单次或缩写
[ ] 代表有时候可以省略
-options:用来对命令进行控制,也可以省略,有-h,--help两种精简/复杂格式
parameter:传给命令的参数,可以是零个、一个或者多个
file:要处理的文件
例如: tar-zxvf data.tar.gz分别对应命令+参数+文件
1. 文件夹与文件管理命令
pwd ## print working directory 打印工作目录, 即当前所在目录
ls ## list 列出当前路径下信息
cd ## change directory 切换目录
mkdir ## make directory建立一个新的目录
touch ## 创建文件 “摸一个文件出来”
mv ## move 移动和重命名, 更改文件或目录,移动目录或文件
rm ## remove 删除目录或文件
cp ## copy and paste 拷贝粘贴,将给出的文件或目录复制到另一个文件或目录中
tar ## tape archive 压缩或者解压文件
ln ## link 链接文件
2.帮助查看文档
help 命令
man ls ## 用 man 命令查看 ls 命令的帮助文档
help ls ## 用 help 命令查看 ls 命令的帮助文档
ls --help ## 用 --help 参数查看 ls 命令的帮助文档
三.Linux常见命令
常规文件夹及文件管理命令如下:
1.ls命令
列出目录文件情况:
ls ## 列出当前目录的文件
ls ./ ## 同上,‘.’号代表当前目录
ls ./*txt ## 列出当前目录下以 txt 结尾的文件
ls ../ ## 列出上层目录的文件
ls -a ## 列出当前目录下的所有文件,包括隐藏文件
ls -l ## 列出当前目录下文件的详细信息,长列表格式显示文件和目录。在输出中,第一个字符表示文件类型,其中d
表示目录,-
表示普通文件
ll ## ls -la 的简写
ls -lh ## 加上 -h 参数,以 K、M、G 的形式显示文件大小
ls -lh / ## 列出根目录下文件的详细信息ls -t ## 以时间进行排序
ls -r ## 倒序进行排列
ls -S ## 以文件大小排序(大写)
ll -thr ## 常用,以时间倒序列出所有文件,并显示文件大小
l -lthr ## 常用,同上但不包括隐藏文件ls / ## 列出根目录
ls file ##不会列出文件夹,只会列出文件夹里的内容
ls -d file ## 列出文件夹本身
2. pwd
pwd: print working directory 打印工作目录
主要作用就是告诉你现在在哪.
注意:打路径的时候留意命令行最后提示的路径, ~ 代表在家目录里, / 代表在根目录下
3.cd
cd:change directory
常见参数:没有
常见用法:cd [路径/目录]
cd .. ## 切换到上层目录,相对路径
cd / ## 切换到根目录
cd /teach/ ## 切换到根目录下的teach,绝对路径
cd - ## 返回上一次的工作目录
cd ~ ## 回到用户家目录
cd ## 同上,回到用户家目录
4.mkdir:
mkdir:make the directory(ies)
常见参数:-p/--parents,递归创建目录
常见用法:mkdir [-p] 目录名
# 创建目录
mkdir dir0 ## 创建一个文件夹
mkdir dir0/sub1/sub2 ## 直接创建多级的话会显示找不到文件
mkdir -p dir0/sub1/sub2 ## -p递归创建,即可以创建好几层文件夹
mkdir -p test{1..3}/test{1..3} ##一次生成多个文件
tree ## 以树形式展开所有文件夹(需要安装的命令)
tree -L 2 ## 显示几层目录
5.touch
touch:新建文件
常见参数:没有
常见用法:touch file
touch file.txt ## 创建新文件(空文件)
touch file{1..5} ## touch一个文件,会修改时间戳到最新
演练:
touch 一个文件, 修改文件时间戳到最新:
6.mv
mv:move.移动或者重命名
常见用法:mv 待移动的文件 移动到哪个目录
mv 待重命名的文件 重命名后的文件名
mv file ##移动或重命
## mv 待移动的文件 移动到哪个目录
## mv 待重命名的文件 重命名后的文件名
## 打出一部分文件名按tab可以补齐,如果补齐完全的话后面会有空格,如果没有完全补齐,不会有空格,此时再tab会出现可以补齐的选项## 因为文件夹也是特殊的文件,如果有同名的文件/文件夹的话,新建同名文件/文件夹会报错
##当把一个文件重名为另外一个已经存在的文件时,会把原先的覆盖掉,所以重命名的时候一定要小心
7.rm
rm:remove
常见参数:
-f ## force不显示警告讯息
-i ## 在删除会先询问用
-r ## 递归删除文件夹,删除文件夹的同时删除下面所有文件
!!!!!!“删库跑路命令”:(慎用该命令)
需要管理 员权限
rm –rf /
rm -i file.txt ## 删除file.txt前询问
rm file* ## 删除以file为开头的所有文件
rm -r test1 ## 删除test1文件夹下面所有文件,删除文件夹,需要加个-r,删除前不询问rm -i -r file ##删除file.txt前询问,删除file文件夹下面所有文件
8.cp
cp:copy and paste (要拷贝谁,到哪里去)
常见参数:-r, copy directories recursively
常见用法:cp [OPTION] SOURCE DIRECTORY
cp readme.txt Data/ ## 复制readme.txt到Data/目录中
cp readme.txt Data/read ##复制readme.txt到Data/目录中,并且在拷贝过程中重命名为read(重命名时/后边不加空格)
cp -r dir0 Data/ ## 拷贝文件夹加上-r,指将文件夹中的内容都一起拷贝
9.ln
ln:link 链接,分软链接(常用)和硬链接(默认).
常见参数:不加参数即为硬链接,加上 –s 参数即为软链接, 软链接的作用类似快捷方式
常见用法:ln –s TARGET DIRECTORY
10.tar
tar:tape archive 压缩或者解压文件.
## 打包:一大堆文件→总的文件
## 压缩:大的文件→小的文件
## linux中压缩程序只能针对一个文件,因此需要先将文件打包为一个文件,再进行压缩,因此就有了tar.gz
常见参数:
-c ## 创建一个新的tar归档文件(创建压缩文件)
-x ## 从已有tar归档文件中提取文件(解压缩)
-f ## 输出结果到文件或设备, 跟在文件前边
-v ## 在处理文件时显示文件(显示处理进度)
-j ## 将输出重定向给bzip2命令
-z ## 将输出重定向给gzip命令
常见用法:
解压:tar [参数] [待解压包]
压缩:tar [参数] <压缩后文件名> [待压缩文件/目录]
四.小结
五.快捷键
- Tab: 补全, "按一下"或"多按几次"
ctrl+C:终止任务
ctrl+Z:暂停任务
ctrl+L:清屏
- ctrl+u: 剪切光标位置到行首的字
ctrl+K:剪切光标位置到行尾的字符
ctrl+A:回到行首(A第一个字母)
ctrl+E:回到行尾(End)
ctrl+W:剪切一个单词(Word,以空格为分隔, ctrl+Y 再把它贴回来
六.小技巧
勤用tab键
按一下:只有唯一候选目标的时候,按一下即可补全出文件
双击:出现多个选项时需要双击,当继续补充到可以指定唯一目标的时候即可完全补出文件或命令
正则表达式:
* 匹配任意多个字符(0到正无穷)
? 匹配任何单个字符
绝对路径: 从根目录开始引起的全路径
相对路径:就是相对于当前工作目录的路径
会修改原始文件的命令:
1. cat > FILE
2. vim FILE
3. sed -i FILE4.cat file1 |head >file1 ##把输入文件作为输出文件时,会清空文件
ls命令 习惯性地在cd后面接ls
tab键 多依赖依赖你的tab键哦
参数 不用死记硬背,用多了自然记得,用得少的需要 用的时候再查一下帮助文档(或者问ChatGPT)
文件名 不要用中文字符和空格,用下划线或点号代替
选中 双击选中一个单词,三击选中一行
七.学习网站
网站可以系统地查阅所有的linux命令及详细参数:linux命令手册http://linux.51yip.com/
有没有什么书籍可以系统的学习linux相关的知识?鸟哥的linux私房菜:基础学习篇 第四版(在线阅读版)https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/
八.练习题及答案
第一次练习:
第一题:
ls -l /home/t_linux 或 ll -thr /home/t_linux
第二题:
cd / ##按tab键查看根目录下边内容.
pwd ##打印工作目录
cd ~ ## 回家目录
第二次练习:
1. mkdir test1
用Tree查看
2.mkdir -p test2/test3,用tree查看
3.touch file{1..5}, tree查看
4.mv file{1..5} test2/test3, tree查看
第三次练习
1.先ls一下查看, rm -i Data.tar.gz
2.rm -r test1
3.拷贝家目录下的.bashrc到家目录下Data,并命名为bashrc_bk, ls Data/ 查看Data里的内容,看是否拷贝过来
4.ln -s /home/t_linux/Minconda3-latest-linux-x86_64.sh ~
ls查看