生信人必备的Linux命令(一)

简介: 生信人必备的Linux命令(一)

1. 免密码登录服务器

ssh有两种认证方式,一种是使用密码,一种是使用密钥来进行登录,这里介绍使用密钥登录的方法。

1.1. 生成密钥

ssh-keygen example@email.com

1.2. 将密钥传送到服务器

ssh-copy-id username@ip

1.3. 设置别名

通过设置home目录下的.ssh文件下的config文件

#  ~/.ssh/config
Host 别名   # 这里你可以设置一个人简短的名字
   HostName ip  # 上一步目标服务器的ip
   Port 22
   User 上一步你的用户名

设置完成后,我们就可以使用别名来直接进行登录了,假如你设置的别名是deng,那么你就可以使用下面这种方法来进行登录。

ssh deng

Windows用户因为没有bash终端,所以上面的命令不能执行,你可以通过下载一个git bashhttps://gitforwindows.org/)来解决这个问题。另外,Windows的目录应该是C:\Users\你的用户名\.ssh,其余操作与Linux相同。这里推荐你安装一个Windows下的WSL子系统(不在本文的讨论范畴),这样就可以直接通过WSL作为跳板机,来进行服务器的登录。

2. 文件目录

2.1. pwd

显示当前目录

2.2. cd

进入目录

按一次tab键可以自动补全路径,按两次可以将所有匹配的路径列出来

cd        # 进入home目录
cd ../    # 进入上一级目录(相对的)
cd /      # 进入根目录(绝对的)
cd ../../ # 进入上一级的上一级目录(相对的)
cd /opt   # 进入根目录下的opt目录下

2.3. ls

列出文件和目录

ls         # 列出当前目录下的文件和目录
ls /opt    # 列出/opt目录下的文件和目录
ls -l      # 列出当前目录下的文件和目录(带有详细信息)
ls -a      # 列出当前目录下的所有的文件和目录
ls -t      # 按照最后一次修改时间进行排序
ls -h      # 以人易于理解的方式显示信息(文件大小以Kb Mb Gb进行显示)

2.4. du

查看目录和文件的大小

du -h            # 以人类易于理解的方式进行显示
du --summarize   # 当前目录的大小信息
# 显示N级的大小信息,N=0时,等价于--summarize
# N=1时,显示当前目录下,各个目录和文件的大小信息
du --max-depth=N 

2.5. touch

创建文件

touch  文件名

2.6. mkdir

创建目录

mkdir 目录名

3. 文件浏览

3.1. cat

将文件内容全部打印出来

cat 文件名      # 打印当前文件
cat -n  文件名  # 打印时带有行号

3.2. less

浏览文件内容,可以使用上下左右方向键来控制内容移动

less  文件名    # 浏览当前文件
less -S 文件名  # 不换行显示内容
less -N 文件名  # 显示行号

3.3. head

显示文件前几行的内容

head 文件名         # 显示文件前10行内容
head 文件名 -n 100  # 显示文件前100行内容

4. 文件改动

4.1. rm

删除文件和目录

rm 1.txt        # 删除1.txt文件
rm -r test      # 删除test目录和该目录下的内容(相当于删除了一个文件夹)
rm -f 1.txt     # 强制删除1.txt
rm -i 1.txt     # 在删除之前会再次向你确认是否要进行删除操作

4.2. mv

移动/重命名  文件和目录

mv 1.txt 2.txt      # 把1.txt重命名为2.txt
mv 1.txt /opt       # 把1.txt移动到/opt目录下
mv test /opt        # 把test目录移动到/opt目录下
mv test /opt -i     # 把test目录移动到/opt目录下,如果/opt下已经存在同名的test目录,会询问是否覆盖
mv test /opt -f     # 把test目录移动到/opt目录下,如果/opt下已经存在同名的test目录,会直接是否覆盖

4.3. cp

复制文件

cp 1.txt 2.txt      # 将1.txt复制一份,存为2.txt
cp -r test /opt     # 将test目录和其中的内容复制到/opt目录下

5. 文件权限

5.1. 权限说明

在运行ls -l命令时,可以看到以下信息,第一列即为权限信息

root@sajhkjfsdhsds45sdfsd:/$ ls -l
total 1364
drwxr-xr-x  1 root root    4096 Nov  5 09:21 bin
drwxr-xr-x  1 root root    4096 May 14  2019 boot
drwxr-xr-x  1 root root    4096 Nov 12 09:16 dev
drwxr-xr-x  1 root root    4096 Nov 12 09:16 etc
drwxr-xr-x  1 root root    4096 Jul 15  2020 home

完整的权限信息为drwxrwxrwx,第一个字母代表类型,d为目录,后面的9个字母可以看作3个rwx的重复

  • r  代表读取权限
  • w  代表写入权限
  • x  代表执行权限

第一组是所有者的权限,第二组是群组的权限,第三组是其他用户的权限,在编写shell时,可能会出现文件不能执行的问题,这主要是因为没有x权限,你可以通过以下命令来设置权限

5.2. chomod

假如这里有一个test.sh文件,他的权限信息为-rw-r--r--,即这个文件用户是没有执行权限的,我们可以通过下面的命令来加上X权限

chmod u+x test.sh  # u就是user  x就是执行权限  u+x就是给user加上执行权限
chmod u-x test.sh  # u就是user  x就是执行权限  u-x就是给user去掉执行权限

6. 文件压缩

6.1. tar

用来打包文件

tar -cf 1.tar 1.txt     # 把文件1.txt打包成1.tar
tar -cf test.tar test/  # 把目录test打包成test.tar
tar -xf 1.tar           # 把1.tar这个包打开(解包)
tar -zxf test.tar.gz    # 直接将test.tar.gz解压解包成test

6.2. gzip/gunzip

压缩和解压

gzip 1.tar         # 将1.tar压缩,得到1.tar.gz
gunzip  1.tar.gz   # 将1.tar.gz解压,得到1.tar

6.3. zcat/zless

直接查看压缩文本文件的内容

zcat 1.txt.gz   # 结果与cat相同
zless 1.txt.gz  # 结果与less相同

7. 进程管理

7.1. ps

查看当前系统运行的进程

ps            # 打印出当前系统的进程
#  PID TTY          TIME CMD
#   14 tty2     00:00:00 bash
#   67 tty2     00:00:00 ps
ps -aux       # 通过CPU和内存的使用来过滤出当前用户进行的进程

7.2. kill

停止一个进程

kill pid      # 停止pid号对应的进程,pid号为ps输出的第一列
kill -9 pid   # -9 为强制停止

7.3. nohup

将一个任务放到后台执行

nohup  命令  &                # 在后台运行命令,默认输出nohup.log日志文件
# nohup gunzip test.gz &     在后台解压文件
nohup 命令 >/dev/null 2>&1 &  # 在后台运行命令,同时不输出日志内容

8. 下载

8.1. wget

下载内容

wget https://www.baidu.com/index.html  # 将该网址的内容index.
# 将该网址的内容index.html下载下来,保存为index1.html
wget https://www.baidu.com/index.html -O index1.html  
# 将该网址的内容index.html下载下来,保存为index1.html,同时保存到/opt目录下
wget https://www.baidu.com/index.html -O index1.html  -P /opt 
# 断点续传(下载一半突然命令被关掉了,下次下载的时候从上次的地方接着下载)
wget -c https://www.baidu.com/index.html

8.2. scp

从服务器上传/下载文件

# 从服务器下载到本地
# 将服务器/opt目录下的test.txt下载到当前目录
scp username@ip:/opt/test.txt ./1.txt
# 从本地上传到服务器
# 将本地的1.txt上传到服务器的/opt目录下
scp ./1.txt username@ip:/opt/
# scp也可以进行目录(文件夹)的上传与下载,需要加上 -r 参数
相关文章
|
10天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
93 6
|
11天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
47 3
|
11天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
37 2
|
6天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
34 3
|
11天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
44 3
|
14天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
49 6
|
15天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
25 7
|
15天前
|
监控 Linux Perl
Linux 命令小技巧:显示文件指定行的内容
在 Linux 系统中,处理文本文件是一项常见任务。本文介绍了如何使用 head、tail、sed 和 awk 等命令快速显示文件中的指定行内容,帮助你高效处理文本文件。通过实际应用场景和案例分析,展示了这些命令在代码审查、日志分析和文本处理中的具体用途。同时,还提供了注意事项和技巧,帮助你更好地掌握这些命令。
33 4
|
14天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
16 2
|
15天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
39 3
下一篇
无影云桌面