mkdir:创建目录 make dir
cp:拷贝文件 copy
mv:移动文件 move
rm:删除文件 remove
ls :命令能够看到当前目录的所有内容。ls -l能够看到更多信息,判断你是谁。
pwd:命令能够看到当前终端所在的目录。告诉你你在哪。
cd:假如你去错了地方,cd命令能够切换到对的目录。
find:find命令通过筛选一些条件,能够找到已经被遗忘的文件。
文本处理vim
vi
Sed:流编辑器
AWK:报告生成器
grep:文本过滤(模式:pattern)工具
查看文件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指定要排序的列。
其他grep:对内容进行过滤,带上--color参数,可以在支持的终端可以打印彩色,参数n则输出具体的行数,用来快速定位。
diff:用来比较两个文件是否的差异。当然,在ide中都提供了这个功能,diff只是命令行下的原始折衷。对了,diff和patch还是一些平台源码的打补丁方式,你要是不用,就pass吧。
压缩为了减小传输文件的大小,一般都开启压缩。linux下常见的压缩文件有tar、bzip2、zip、rar等,7z这种用的相对较少。
创建压缩文件
tar cvfz archive.tar.gz dir/
解压
tar xvfz. archive.tar.gz
日常运维开机是按一下启动按钮,关机总不至于是长按启动按钮吧。对了,是shutdown命令,不过一般也没权限-.-!。passwd命令可以用来修改密码,这个权限还是可以有的。
mount:挂在一些外接设备,比如u盘,比如iso,比如刚申请的ssd。可以放心的看小电影了。
mount /dev/sdb1 /xiaodianying
chown:改变文件的所属用户和所属组。
chmod 用来改变文件的访问权限。
这两个命令,都和linux的文件权限777有关。
示例:
# 毁灭性的命令
chmod 000 -R /
# 修改a目录的用户和组为 xjj
chown -R xjj:xjj a
# 给a.sh文件增加执行权限(这个太常用了)
chmod a+x a.sh
yum:包管理工具就是yum。如果你的系统没有wget命令,就可以使用如下命令进行安装。
yum install wget -y
systemctl:centos管理后台服务也有一些套路。service命令就是。systemctl兼容了service命令,我们看一下怎么重启mysql服务。 推荐用下面这个。
service mysql restart
systemctl restart mysqld
kill:进程控制。
su:切换用户。
系统状态概览uname:输出当前的内核信息,让你了解到用的是什么机器。
uname -a
ps:看到进程/线程状态。和top有些内容重叠,常用。
# 找到java进程
ps -ef|grep java
top:系统状态一览,主要查看。cpu load负载、cpu占用率。使用内存或者cpu最高的一些进程。
free:top也能看内存,但不友好,free是专门用来查看内存的。包括物理内存和虚拟内存swap。
df:查看系统中磁盘的使用量,用来查看磁盘是否已经到达上限。参数h可以以友好的方式进行展示。
df -h
ifconfig:查看ip地址,不啰嗦,替代品是ip addr命令。
ping:至于网络通不通,可以使用ping来探测。(不包括那些禁ping的网站)
netstat:虽然ss命令可以替代netstat了,但现实中netstat仍然用的更广泛一些。比如,查看当前的所有tcp连接。
netstat -ant
此命令,在找一些本地起了什么端口之类的问题上,作用很大。
工作常用export:设定一些环境变量,env命令能看到当前系统中所有的环境变量。比如,下面设置的就是jdk的。
export PATH=$PATH:/home/xjj/jdk/bin
whereis:执行命令的具体路径命令
crontab:linux本地的job工具。不是分布式的,你要不是运维,就不要用了。比如,每10分钟提醒喝茶上厕所。
date:输出当前的系统时间,可以使用-s参数指定输出格式。但设置时间涉及到设置硬件,所以有另外一个命令叫做hwclock。
xargs:读取输入源,然后逐行处理。这个命令非常有用。举个栗子,删除目录中的所有class文件。
find . | grep .class$ | xargs rm -rvf
#把所有的rmvb文件拷贝到目录
ls *.rmvb | xargs -n1 -i cp {} /mount/xiaodianying
网络ssh:你要是想要详细的输出过程,记得加参数-v。
scp:文件传输。也可以用来传输目录。也有更高级的sftp命令。
scp a.txt 192.168.0.12:/tmp/a.txt
scp -r a_dir 192.168.0.12:/tmp/
wget:下载文件,并支持断点续传。
curl:利用URL规则在命令行下工作的文件传输工具



