一、【写在前面】
注意到csdn在鼓励作者创作centos常见命令相关的文章,借此机会水一篇博文。
centos作为上个版本国内最常用的开源操作系统,占有量非常恐怖,排个前三应该没有任何疑问。但是我建议直接去学ubuntu,因为主流在用的centos7要停止维护了,据本人浅显认知,会有一部分转用云厂商魔改的centos和国产操作系统,一部分转用ubuntu,一部分转用类似rockylinux……
这篇文章面向0基础小白,linux类系统因为绕不开terminal(win上叫cmd)这个东西,所以门槛稍微高那么一丢丢,要花时间学一下命令,希望这篇对你进入linux的大门有帮助
二、【预备知识】
(1) linux的terminal命令都可以看作是
命令名 参数一 参数二 参数三……
比如 find -type f -name filename 这就是一个简单的查找命令,开头的是命令名,后面都是参数,用空格分隔
(2) Linux的路径与C:/path/dir这种不同,一般都是/path/to/ur/dir这种格式
/path/to/ur/dir 这种是绝对路径,也就是从根目录开头一级级指到当前文件夹的路径
~/path ../path ./path 这种都是相对路径,就是某个地方开始逐级指向的路径,从左到右分别是从家目录开始,上一级目录开始,当前目录开始
(3)linux命令一般可以理解为shell命令(shell命令其实是linux命令的超集)
linux上在terminal的命令都可以视为是shell命令,把多个命令简单堆叠,再加一点循环或者判断就是一个shell脚本了
常见的shell解释器有sh bash ash zsh等……我们的操作本质是被shell解释后丢给内核去处理。
(4)强弱引用
与大多数编程语言一致,''(单引号)是强引用,""(双引号)是弱引用。简单来说强引用里面的命令或者变量只会被当成字符串
三、【命令总结】
1. 基础类
这些命令是要优先看的,相当于你拿到windows之后知道鼠标怎么点,点哪里。提前说明一下
命令 | 作用 | 额外说明 |
---|---|---|
ctrl+alt+T | 呼出终端快捷键,严格来说不是命令 | 相当于打开windows的cmd |
cd / | 这里是切换到根目录 | cd是change directory的缩写,根目录可以理解为我的电脑,最上层的目录。你可以注意到与windows的C:/path盘符加路径不同,linux直接是/path这样的格式作为路径 |
cd ~ | 切换到家目录 | 类比windows,登陆电脑可以有多个用户,每个用户都有一个家目录,windows是在C:\Users\下,linux一般是在 /home 下 |
cd .. | 切换到上一层目录 | 比如/home/user的上层目录是/home |
cd - | 切换到上一个访问的目录 | 相当于windows的后退 |
ls | 展示当前路径下的文件和文件夹 | terminal中cd到一个路径后,不会立马显示里面有什么内容,需要 ls 展示一下 |
ls -l | 展示当前路径下的文件和文件夹的详细信息 | 有时候操作系统会设置一个默认的别名命令 ll ,也就是说直接输入 ll 等价于ls -l |
mkdir /path/to/dir | 新建文件夹 | 但是只能一级一级建立,也就是说如果/path/to中的to这个文件夹不在,那么就创建不成功 |
mkdir -p /path/to/dir | 递归创建文件夹 | 可以创建多层文件夹,上面那条的补充 |
echo 'helloword' | 输出文字用的,可理解为helloword | |
value1="hello" | 对变量value1进行赋值 | 如果value1没被赋值过,会自动创建这个变量 |
apt install 软件名 | 安装软件,ubuntu命令 | |
yum install 软件名 | 安装软件,centos命令 | |
dpkg -i /path/to/ur/*.deb | 离线安装命令,需要先下好deb包,注意一下ubuntu是deb包,centos是rpm包 | *是通配符,相当于模糊匹配该路径下任何.deb结尾的文字 |
mv [source] [destination] | move,剪切命令 | |
cp [source] [destination] | copy,复制命令 | |
rm /path | remove ,删除命令 | 谨慎使用 |
systemctl start [service] | 启动服务 | |
systemctl stop [service] | 停止服务 | |
systemctl restart [service] | 重启服务 | |
systemctl status [service] | 查看服务状态 | |
systemctl enable [service] | 设置服务开机启动 | |
systemctl disable [service] | 禁用服务开机启动 | |
netstat -a | 查看所有端口 | |
ps -ef | 查看所有进程 | 经常配合kill一起使用,杀掉某个程序 |
kill PID | 杀死PID对应的程序 | |
kill -9 PID | 强制杀死PID对应的程序 | 可能会导致程序异常 |
记住上面的命令,基本操作就没有问题了,接下来写一些用的相对没那么频繁的命令。
2. 常用类
df -h | 查看磁盘使用情况 | |
du -sh /path | 查看目录大小 | |
mount device /path | 挂载一个硬盘 | 之前说过,linux的文件系统与windows不同,没有盘符,不同的盘linux是通过一个挂载点来确认的,比如/path1 挂载A盘,/path2 挂载B盘 |
unmount /path | 解挂一个硬盘 | |
tar -czvf [archive.tar.gz] [directory] | 创建一个压缩文件 | |
tar -xzvf [archive.tar.gz] | 解压缩一个文件 | |
top | linux的任务管理器 | |
free -h | 查看内存使用情况 | |
iostat | 查看CPU和I/O统计信息 | |
ifconfig | 查看网卡信息 | |
find /path -name [filename] | 查找文件 | |
sh file.sh | ||
grep | 筛选,常跟管道符一起合用 | 比如cat filename | grep keyword 查找文件里的关键词 |
ip a | 查看机器的IP信息 | |
ssh user@1.1.1.1 | 使用ssh远程登陆某一台主机,这里是默认端口22,如果需要制定端口,加一个-p | |
scp source destination | 简而言之就是远程的 | |
curl baidu.com | curl,一般也是看连通性,得到的信息更多一点,可以看到返回 | |
ping url | ping命令检测网络连通性 | |
wget url | 下载命令 | |
nohup ./path/a.sh & | 把一个脚本丢到后台去执行 | 使用 |