前言
Linux系统中有成百上千的命令,一般初学者看到都会一脸懵逼状态,到底该学那些命令呢,还是全都学会呢。作为一只运维小菜狗,下面结合日常工作,选出一批必须要搞懂的命令集合。此篇文章只讲解一些命令的简单用法,不具体深究其使用技巧,后续会跟进。
常用的命令分以下几个部分:
1.目录操作
2.文本处理
3.工作常用
1.目录操作
工作中,最常打交道的就是文件和目录了,我们将经常需要看看自己在哪,拷贝文件,创建目录等等,常用的命令如下:
1.mkdir
mkdir命令用来创建目录。可以创建单个多个或者递归创建文件夹,如:
# -p参数表示递归创建子文件夹,v参数显示创建文件的过程,创建了哪些文件夹
[root@vxiubadev tmp]# mkdir -pv a/b{c,f,g/a}
mkdir: created directory ‘a’
mkdir: created directory ‘a/bc’
mkdir: created directory ‘a/bf’
mkdir: created directory ‘a/bg’
mkdir: created directory ‘a/bg/a’
2.cp
cp 即copy 的缩写,拷贝文件/文件夹命令;
[root@vxiubadev tmp]# cp -r a b #拷贝a文件夹 到 b文件夹下
3.mv
mv 移动文件或文件 move ,此命令又常用于重命名文件
#将 bc目录移动到bf目录下
[root@vxiubadev a]# ls
bc bf bg
[root@vxiubadev a]# mv bc bf/
[root@vxiubadev a]# ls
bf bg
[root@vxiubadev a]# ls bf
bc
#重命名文件,将aaa重命名为bbb
[root@vxiubadev a]# ls
aaa bf bg
[root@vxiubadev a]# mv aaa bbb
[root@vxiubadev a]# ls
bbb bf bg
4.rm
删除文件 remove
rm -rf / #删除本机上一切能删除的文件
5.cd
change directory改变目录的意思,你想要到哪里去,只需执行 cd dirname 即可
cd /tmp #进入tmp 目录
6.ls
ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
[root@vxiubadev a]# ls #查看当前目录下都有些什么
bbb bf bg
7.pwd
pwd命令以绝对路径的方式显示用户当前工作目录,解决你在哪的问题
[root@vxiubadev a]# pwd
/tmp/a
2.文本处理
cat
最常用的就是cat命令了,但是如果文件很大的话,cat命令的输出结果会疯狂在终端上输出,可以多次按ctrl+c终止。cat -n file ,可以指定查看前几行文件
# 查看文件大小
du -h file
# 查看文件内容
cat file
less
针对cat 打开大文件遇到的问题,可以使用less命令,进行翻页查看
less log.txt
tail
大多数做服务端开发的同学,都了解这个命令。比如,查看php的错误日志。
tail -f error.log
tail命令可以静态的查看某个文件的最后n行,与之对应的,head命令查看文件头n行。但head没有滚动功能,就像尾巴是往外长的,不会反着往里长。
tail -n100 access.log
head -n100 access.log
vim 命令
vim命令可以编辑或者创建文件;编辑一个文件时若该文件不存在则会自动创建;退出方法 按ESC :wq 即可保存修改过的文件并退出
vim file.txt
vim +100 file.txt #打开file文件并跳到第100行
3.其他常用
reboot
reboot命令用来重新启动正在运行的Linux操作系统。服务器正常运行下一般不需要重启或者关闭,重启一般是在修改了linux内核配置的情况,需要重启生效
reboot 或 sudo reboot
tar
压缩或者解压文件
tar cvfz archive.tar.gz dir/ 压缩文件
tar xvfz archive.tar.gz 解压文件
ps,grep
ps 查看系统进程,grep 文本检索命令,一般我们用ps命令时都会与grep 一并使用来过滤指定的进程
[root@vxiubadev ~]# ps -ef | grep nginx
root 9257 7879 0 Jul09 ? 00:00:00 nginx: master process nginx -p /usr/local/orange -c /usr/local/orange/conf/nginx.conf
nobody 9258 9257 0 Jul09 ? 00:00:00 nginx: worker process
nobody 9259 9257 0 Jul09 ? 00:00:00 nginx: worker process
nobody 9260 9257 0 Jul09 ? 00:00:00 nginx: worker process
nobody 9261 9257 0 Jul09 ? 00:00:01 nginx: worker process
root 23164 22985 0 15:32 pts/0 00:00:00 grep --color=auto nginx
top ,htop
top以及htop命令都可以查看当前系统的负载以及进程;cpu load负载、cpu占用率,系统默认只有top命令,htop需要自行安装;先安装 epel yum源后 执行 yum intall htop 即可
yum
假定你用的是centos,则包管理工具就是yum。如果你的系统没有wget命令,就可以使用如下命令进行安装。
yum install wget -y
free
top也能看内存,但不友好,free是专门用来查看内存的。包括物理内存和虚拟内存swap。
[root@vxiubadev ~]# free -h
total used free shared buff/cache available
Mem: 15G 1.1G 13G 10M 579M 14G
Swap: 0B 0B 0B
scp
scp用来在两台机器之间进行文件传输。也可以用来传输目录。也有更高级的sftp命令。
scp a.txt 192.168.199.12:/tmp/a.txt
scp -r a_dir 192.168.199.12:/tmp/
wget
wget命令可以让你直接使用命令行下载文件,并支持断点续传。
wget -c http://xxx.com/jdk.tar.gz
ip,ifconfig
ip,ifconfig 用于查看当前系统的网络连接状态,ifconfig 在centos7 以上的系统中已经没有默认安装,如需使用可以 使用 yum install net-tools 安装