找回密码
 立即注册
Qt开源社区 门户 查看内容

记住这些常用命令,轻松玩转Linux

2019-7-15 16:07| 发布者: admin| 查看: 581| 评论: 0

摘要: 先来看个简洁版的命令组合:1 查看目录与文件:ls#显示当前目录下所有文件的详细信息ls -la2 切换目录:cd#切换当前目录为/opt/testcd /opt/test3 显示当前目录:pwdpwd4 创建空文件:touch#在当前目录下创建文件des ...



先来看个简洁版的命令组合:

1 查看目录与文件:ls

#显示当前目录下所有文件的详细信息

ls -la

2 切换目录:cd

#切换当前目录为/opt/test

cd /opt/test

3 显示当前目录:pwd

pwd

4 创建空文件:touch

#在当前目录下创建文件desc.txt

touch desc.txt

5 创建目录:mkdir

#在当前目录下创建test目录

mkdir test

#在/opt/test目录下创建目录img,若无test目录,先创建test目录

mkdir -p /opt/test/img

6 查看文件内容:cat

#查看desc.txt的内容

cat desc.txt

7 分页查看文件内容:more

#分页查看desc.txt的内容

more desc.txt

8 查看文件尾内容:tail

#查看desc.txt的最后100行内容

tail -100 desc.txt

9 拷贝:cp

#拷贝desc.txt到/mnt目录下

cp desc.txt /mnt/

#拷贝test目录到/mnt目录下

cp -r test /mnt/

10 剪切或改名:mv

#剪切文件desc.txt到目录/mnt下

mv desc.txt /mnt/

11 删除:rm

#删除test目录,-r递归删除,-f强制删除。危险操作,务必小心,切记!

rm -rf test

12 搜索文件:find

#在opt目录下查找以.txt结尾的文件

find /opt -name '*.txt'



13 创建链接文件:ln

#创建目录/opt/test的符号链接

ln -s /opt/test ./link2test

14 显示或配置网络设备:ifconfig

#显示网络设备情况

ifconfig

15 显示网络相关信息:netstat

#列出所有端口

netstat -a

16 显示进程状态:ps

#显示当前所有进程

ps -ef

#显示当前所有java相关进程

ps-ef | grep java

17 查看目录使用情况:du

#查看/opt/test目录的磁盘使用情况

du -h /opt/test

18 查看磁盘空间使用情况:df

#查看磁盘空间使用情况

df -h

19 显示系统当前进程信息:top

#显示系统当前进程信息

top

20 杀死进程:kill

#杀死进程号为27810的进程,强制终止,系统资源无法回收

kill -s 9 27810

21 压缩和解压:tar

#打包test目录为test.tar.gz文件,-z表示用gzip压缩

tar -zcvf test.tar.gz ./test

#解压test.tar.gz文件

tar -zxvf test.tar.gz

22 改变文件或目录的拥有者和组:chown

#变更文件desc.txt的拥有者为nginx,用户组为nginx

chown nginx:nginx desc.txt

#变更test及目录下所有文件的拥有者为nginx,用户组为nginx

chown -R nginx:nginx test

23 改变文件或目录的访问权限:chmod

#权限范围:u(拥有者)g(郡组)o(其它用户), 权限代号:r(读权限/4)w(写权限/2)x(执行权限/1)

#给文件拥有者增加test.sh的执行权限

chmod u+x test.sh

#给文件拥有者增加test目录及其下所有文件的执行权限

chmod u+x -R test

24 文本编辑:vim

#vim三种模式:命令模式,插入模式,编辑模式。使用ESC或i或:来切换模式。

#命令模式下,:q退出 :q!强制退出 :wq保存退出 :set number显示行号 /java在文档中查找java yy复制 p粘贴

#编辑desc.txt文件

vim desc.txt

25 关机或重启:shutdown

#立刻关机

shutdown -h now

#60秒后重启

shutdown -r -t 60

26 帮助命令:man

#查看ls命令的帮助文档

man ls

再来看个高级版的分析:

本文简要介绍了linux的26个常用命令及其最基本的用法,虽然个数不多,但却能覆盖大多数的使用场景。在实际的使用过程中,要多注意利用man命令,认真阅读liunx的帮助文档,多多加练习,一定会进步很快的。









文本处理


这是是非常非常加分的技能。get到之后,也能节省更多时间来研究面向对象。



查看文件


cat
最常用的就是cat命令了,注意,如果文件很大的话,cat命令的输出结果会疯狂在终端上输出,可以多次按ctrl+c终止。
# 查看文件大小
du -h file

# 查看文件内容
cat file

less
既然cat有这个问题,针对比较大的文件,我们就可以使用less命令打开某个文件。
类似vim,less可以在输入/后进入查找模式,然后按n(N)向下(上)查找。
有许多操作,都和vim类似,你可以类比看下。

tail
大多数做服务端开发的同学,都了解这么命令。比如,查看nginx的滚动日志。
tail -f access.log
tail命令可以静态的查看某个文件的最后n行,与之对应的,head命令查看文件头n行。但head没有滚动功能,就像尾巴是往外长的,不会反着往里长。
tail -n100 access.log
head -n100 access.log

统计


sort和uniq经常配对使用。
sort可以使用-t指定分隔符,使用-k指定要排序的列。

下面这个命令输出nginx日志的ip和每个ip的pv,pv最高的前10
#2019-06-26T10:01:57+08:00|nginx001.server.ops.pro.dc|100.116.222.80|10.31.150.232:41021|0.014|0.011|0.000|200|200|273|-|/visit|sign=91CD1988CE8B313B8A0454A4BBE930DF|-|-|http|POST|112.4.238.213

awk -F"|" '{print $3}' access.log | sort | uniq -c | sort -nk1 -r | head -n10

其他


grep
grep用来对内容进行过滤,带上--color参数,可以在支持的终端可以打印彩色,参数n则输出具体的行数,用来快速定位。
比如:查看nginx日志中的POST请求。
grep -rn --color POST access.log
推荐每次都使用这样的参数。

如果我想要看某个异常前后相关的内容,就可以使用ABC参数。它们是几个单词的缩写,经常被使用。
A  after  内容后n行
B  before  内容前n行
C  count?  内容前后n行
就像是这样:
grep -rn --color Exception -A10 -B2 error.log
diff

diff命令用来比较两个文件是否的差异。当然,在ide中都提供了这个功能,diff只是命令行下的原始折衷。对了,diff和patch还是一些平台源码的打补丁方式,你要是不用,就pass吧。

压缩


为了减小传输文件的大小,一般都开启压缩。linux下常见的压缩文件有tar、bzip2、zip、rar等,7z这种用的相对较少。



.tar  使用tar命令压缩或解压
.bz2 使用bzip2命令操作
.gz 使用gzip命令操作
.zip 使用unzip命令解压
.rar 使用unrar命令解压

最常用的就是.tar.gz文件格式了。其实是经过了tar打包后,再使用gzip压缩。

创建压缩文件
tar cvfz archive.tar.gz dir/
解压
tar xvfz. archive.tar.gz
快去弄清楚它们的关系吧。



mount /dev/sdb1 /xiaodianying
chown
chown 用来改变文件的所属用户和所属组。
chmod 用来改变文件的访问权限。

这两个命令,都和linux的文件权限777有关。
示例:
# 毁灭性的命令
chmod 000 -R /

# 修改a目录的用户和组为 xjj
chown -R xjj:xjj a

# 给a.sh文件增加执行权限(这个太常用了)
chmod a+x a.sh

yum
假定你用的是centos,则包管理工具就是yum。如果你的系统没有wget命令,就可以使用如下命令进行安装。
yum install wget -y
systemctl
当然,centos管理后台服务也有一些套路。service命令就是。systemctl兼容了service命令,我们看一下怎么重启mysql服务。 推荐用下面这个。
service mysql restart
systemctl restart mysqld

对于普通的进程,就要使用kill命令进行更加详细的控制了。kill命令有很多信号,如果你在用kill -9,你一定想要了解kill -15以及kill -3的区别和用途。

su
su用来切换用户。比如你现在是root,想要用xjj用户做一些勾当,就可以使用su切换。
su xjj
su - xjj

-可以让你干净纯洁的降临另一个账号,不出意外,推荐。

系统状态概览


登陆一台linux机器,有些命令能够帮助你快速找到问题。这些命令涵盖内存、cpu、网络、io、磁盘等。如需要更多了解,参考五件套。比较高阶一些。



uname
uname命令可以输出当前的内核信息,让你了解到用的是什么机器。
uname -a
ps
ps命令能够看到进程/线程状态。和top有些内容重叠,常用。
# 找到java进程
ps -ef|grep java

top
系统状态一览,主要查看。cpu load负载、cpu占用率。使用内存或者cpu最高的一些进程。下面这个命令可以查看某个进程中的线程状态。
top -H -p pid
free
top也能看内存,但不友好,free是专门用来查看内存的。包括物理内存和虚拟内存swap。

df
df命令用来查看系统中磁盘的使用量,用来查看磁盘是否已经到达上限。参数h可以以友好的方式进行展示。
df -h
ifconfig
查看ip地址,不啰嗦,替代品是ip addr命令。

ping
至于网络通不通,可以使用ping来探测。(不包括那些禁ping的网站)

netstat
虽然ss命令可以替代netstat了,但现实中netstat仍然用的更广泛一些。比如,查看当前的所有tcp连接。
netstat -ant
此命令,在找一些本地起了什么端口之类的问题上,作用很大。

工作常用


还有一些在工作中经常会用到的命令,它们的出现频率是非常高的 ,都是些熟面孔。













技术来源:小姐姐味道、马哥LINUX运维

特此鸣谢








----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:魔都攻城狮,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了