Linux基础 实用Linux命令一览表

前言

经过前面一系列的学习,相信你已经对Linux的很多基本操作都很了解了,比如cdls;使用Vim编辑器也越来越顺;还会用一些简单的高级工具,比如htopncdu;了解了一些目录管理的实践方案;甚至已经安装了第一个Docker应用Ward面板。

我觉得,现在你基本已经入门Linux了。以后的路要自己走了。记得好好地利用GoogleGithub!

这里再助攻一波,发一个我玩Linux以来,我觉得比较实用的命令。你在学习Linux的时候,也应该专门建立一个markdown文件记录一些你常用的命令,然后时常回顾和复习。

值得一说的是,如果你用的是自己的主机搭配Ubuntu等,其实还有很多可能会用到的比较复杂的设置,比如修改镜像源、设置本地静态ip、安装无线网卡驱动、禁止更新Linux内核啥的。考虑到我们都用的VPS,就不细说了。有空再补充。

另外,这一页面就不包括咱们此前学习的cdls之类的常用命令了,只包括一些实用但比较少用的tips。此页面会动态更新。

话不多说,咱们上车!

常用命令

北京时间

# 查看时间
date

# 为当前用户
tzselect # 选择时空。按提示操作即可。
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# 为所有用户
sudo vim /etc/profile
TZ='Asia/Shanghai'; export TZ
source /etc/profile && source ~/.bashrc

中英文界面切换

# 修改文件
sudo vim /etc/default/locale

英文一般是这样

# 英文
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

中文一般是这样:

# 中文
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"

一般还是建议英文吧,慢慢就会习惯了。查bug也方便一些不是?

文件权限

非常重要!非常重要!非常重要!

我们之前也有了解过一些了,就是类似这种-rw-r--r--

强烈推荐学习参考资料Linux chmod命令!

你也会知道1,2,4x,w,r的关系以及他们的排列组合/和在改变文件权限上的灵活运用。自己创建一个文件来试玩吧!这个必须要掌握!

这里给一些常用的用户名(组):

  • www-data:www-data的id是33:33
  • root:root的id是0:0

参考资料:

SSH

ssh访问另一台主机。不过我们平时都有MobaXterm、FinalShell之类的管理软件,感觉这个不是很需要。

# ssh访问另一台主机
ssh alvin@192.168.0.116

# ssh根据特定的端口访问,比如1234
ssh alvin@192.168.0.116 -p 1234 

参考资料:

VPS相互信任

基本的原理,就是把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中。

比如,你在本地VPS运行此命令

ssh-keygen -t rsa

就会在用户目录~/.ssh/产生两个文件,id_rsaid_rsa.pub。把本地主机上的id_rsa.pub文件拷贝到远程主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys。 这样在本地主机上使用scp命令复制文件到远程主机上将不提示输入密码了,直接复制了。反之亦然!

我觉得ssh-keygen可以好好的利用,比如为特定主机设定一定期限的公钥。自己ssh-keygen --help摸索吧!

一些比较复杂的用法,比如配置多个ssh公钥,我用的也不多,没啥经验。

参考资料:

scp

这个命令用于在两台VPS间通过ssh协议传输文件(夹)。比如你要备份本地docker目录到新主机,就很管用了!苯苯最近就操作过。如果你的远程主机通过公钥信任了本地主机,你传输的时候还不需要密码!

# 远程复制文件夹
scp -r -p -P <远程主机的ssh端口号> <本地目录> <远程主机的用户名>@<远程主机ip>:<远程主机目录>

# 远程复制文件。不用-r
scp -p -P <远程主机的ssh端口号> <本地文件> <远程主机的用户名>@<远程主机ip>:<远程主机目录>

# 远程主机用的22端口,还不用指定-P
scp -p <本地文件> <远程主机的用户名>@<远程主机ip>:<远程主机目录>

参考资料:

trash-cli

通过apt-get就可以安装了

sudo apt-get install trash-cli

自己试试看:

# 删除文件和目录(仅放入回收站中),也可以trash
trash-put 

# 列出被删除了的文件和目录
trash-list 

# 从回收站中恢复文件或目录 trash.
trash-restore

# 删除回收站中的文件
trash-rm

# 清空回收站
trash-empty

还蛮好用的。不过我平时还是直接rm的。习惯了(~ ̄▽ ̄)~

参考资料:

进程操作

# 基本命令
ps # 观察当前用户所有进程
ps ux 
ps aux # a-包括其它用户的进程;u-进程的详细内容;x-不是通过终端控制的进程
top # 动态观察CPU和内存占用比较高的进程。通过q退出
kill PID # 通过进程的PID关闭。不要随便结束以root身份启动的进程
kill -9 PID # 用kill无法进行的时候,强行终止

这里有个我觉得比较好用的ps

ps -ef | grep -E 'multiqc|stats'

使用时,将multiqc|stats换成你要找的程序的名字。

这里有个我觉得比如好用的kill:

kill -9 `ps -ef | grep -E 'java' | awk '{print $2}'`

使用时,将这个java改成你要结束的进程名字(某段特征也行)

查看本地网络

ifconfig|less

大多数情况下,docker0echXXX这两个网络的信息对我们比较重要。

查看进程网速占用

# 查看自己的网卡
ifconfig|grep eth # 很多人都是eth0

# 安装nethogs
sudo apt-get install nethogs

通过nethogs可以实时查看流量消耗:

# 查看网速
sudo nethogs eth0

它是一个动态页面:

image-20220421084114639

查看硬件信息

之前我们学习的neofetch也可以看。这里介绍其它的一些命令:

# 查看基本信息
lshw -short|less 

# 查看详细信息
lshw|less 

#查看系统信息
uname -a 

sudo dmidecode | grep "System Information" -A9 | egrep "Manufacturer|Product|Serial"  # 查看服务器型号、序列号

# 查看BIOS信息
sudo dmidecode -t bios 

# # 查看内存槽及内存条
sudo dmidecode -t memory | head -45 | tail -23 

# 查看网卡信息
sudo dmesg | grep -i Ethernet

# 查看pci信息,即主板所有硬件槽信息
lspci | head -10 

# 查看显卡 
sudo lspci  | grep -i vga 

这里还可以推荐一个工具,叫做hardinfo。你可以用apt-get来安装它:

sudo apt-get install hardinfo

然后使用方法也蛮简单的,就是:

sudo hardinfo | less

之所以用less,是因为它会输出一大堆东西,用less命令观察会比较方便。f向前翻页,b向后翻页,q退出。

查看公网ip

curl ifconfig.me

crontab执行定期任务

编辑文件内容:

vim /etc/crontab

具体用法我不多说了。自己看参考资料吧!口诀:分时日月周

参考资料:

压缩与解压

# 压缩为tar.gz
tar zvfc test.tar.gz ~/test/

# 解压为tar.gz
tar zvfx test.tar.gz

# 解压zip
unzip test.zip

# 直接查看文本类的tar.gz
zcat text.tar.gz|less

一般这几个比较常用。还有一些gzip啥,你用到的时候自己Google一下。

Conda

如果你不知道什么是conda或者anaconda,你百度一下Ubuntu安装conda

它是一个软件版本控制的平台。**利用conda,你可以在同一台电脑中配置无数个不同的环境(多个软件不同版本的搭配)。**你可能不知道我在说什么。总之,你知道它是一个生产力工具就行了。

**你在玩Docker的时候并不需要conda。**你只要知道它,以后有需要的话就使用它吧!

如果你是生物信息学、人工智能或者是Python的学习者,这个东西我不说你也知道。如果你了解过python2python3那些事,相信你也会不由自主地喜欢上conda的。

言尽于此,自己体会!

小结

这一回写完,我们的Linux基础也觉得差不多了。以后要精进,还是要靠多查书、多检索、多试错。苯苯也在慢慢地学习中呢!

而且有了这些基础,相信你已经迫不及待地想要了解docker怎么使用了!我也是呀!

在本博客中,我会介绍那些最经典的Docker应用。毫不夸张地说,这些Docker应用彻底地改变了我的生活。相信你以后也会有同感的!

转至个人博客:https://blognas.hwb0307.com
欢迎关注!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值