常用命令一览
1.日常操作
下载一个linux的文件上传下载工具,下载完成后可以上传自己的本地文件到linux(上传rz,下载sz)
yum -y install lrzsz
查看网络连接情况 | ping IP地址 |
查看当前所在目录 | pwd |
查看当前时间 | date |
查看当前连接所有用户 | who |
查看当前登录用户(本人) | whoami |
查看最近的登录记录 | last |
2.系统操作
查看IP地址 | ip addr |
查看网络配置 | ifconfig |
查看主机名 | hostname |
修改主机名(重启无效) | hostname 名字 |
重启系统服务 |
systemctl start/stop/restart 服务名 |
关机 |
halt |
重启 |
reboot |
- 查看全部服务命令: systemctl list-unit-files --type service #ctrl+c可以回到命令输入
- 列出所有可用的Unit: systemctl list-unit-files
- 列出所有正在运行的Unit: systemctl list-units
- 列出所有失败的Unit: systemctl --failed
- 禁用服务:systemctl mask 服务名.service
- 杀死服务:systemctl kill 服务名
- 查看服务:systemctl status 服务名.service
- 启动服务:systemctl start 服务名.service
- 停止服务:systemctl stop 服务名.service
- 重启服务:systemctl restart 服务名.service
- 增加开机启动:systemctl enable 服务名.service
- 删除开机启动:systemctl disable 服务名.service
查看进程:netstat -nap|grep 端口号
查看日志细节:journalctl -xe -u etcd
查看接口:netstat -nal
防火墙操作:
#查看防火墙状态 firewall-cmd --state #开启端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent #删除指定端口 firewall-cmd --zone=public --remove-port=8080/tcp --permanent #查询指定端口号是否开启: firewall-cmd --query-port=8080/tcp #重启防火墙(不重启以上的设置是不会生效的): firewall-cmd --reload #查询有哪些端口是开启的: firewall-cmd --list-port
3.文件操作
1.操作文件夹
操作 | 命令 | 例子 |
不换行展示当前目录文件列表(简略) | ls | |
换行展示文件详细信息列表(详细) | ll | |
查看根目录下的文件信息 | ls / | |
显示完整的信息(包括隐藏文件), | ls -al -a | |
换行显示文件并且有大小 | ll -h | |
切换目录(按tab键补全) | cd 目录名 | eg: cd aaa 切换到aaa目录 |
切换到根目录 | cd / | |
在当前目录下创建文件夹(按照路径创建) | mkdir -p 路径/文件夹名 | eg: mkdir -p aaa/bbb/ccc 在当前目录创建一个指定的目录结构aaa/bbb/ccc |
创建文件夹,利用绝对路径(/代表根) | mkdir /路径/文件夹名 | eg: mkdir /usr/aaa 在usr目录下创建一个aaa文件夹 |
创建文件夹,在当前路径(相对路径) | mkdir 文件夹名 | eg: mkdir aaa 在当前目录下创建一个文件夹aaa |
修改文件夹名称 | mv 原名 新名 | eg: mv aaa bbb 把aaa文件名修改文bbb文件名 |
移动文件位置 | mv 源文件 目标目录 | eg: mv text.1 aaa/bbb 把文件bbb.1文件移动到目录aaa/bbb |
移动文件位置并且重命名 | mv 源文件 目标目录/文件名 | eg: mv mv text.1 bbb/text.2.bak 把文件text.1移动到目录bbb下,并修改名字为text.2.bak |
删除文件夹(职能删除非空目录) | rmdir 文件夹 | eg: rmdir aaa 删除目录aaa,职能删除非空目录 |
2.操作文件(linux系统文件夹也可以有后缀,文件也可无后缀)
操作 | 命令 | 例子 |
查看指定文件 | cat 文件名 | cat aaa 查看aaa文件内容 |
当前目录下创建文件 | touch 文件名.后缀名 | touch text.txt 当前目录下创建一个text.txt文件 |
覆盖:利用重定向“>”的功能,将内容写入到一个文件中 | echo "内容" > 文件名 | echo "i miss you" > text.txt 将text.txt文件内容覆盖为“i miss you” |
追加:利用重定向“>>”的功能,将内容追加到文件的末尾 | echo "内容" >> 文件名 | echo "i miss you" >> text.txt 在text.txt文件的最后追加“i miss you” |
删除指定文件 | rm 文件名 | rm aaa 删除文件aaa/无法删除aaa:是一个目录 |
递归删除文件 | rm -r 文件夹或文件 | rm -r aaa 删除aaa整个文件夹下的所有子节点 |
强制递归删除文件 | rm -rf 文件或文件夹 | rm -rf aaa 强制递归删除aaa文件夹下所有文件 |
3.文本编辑操作
- 首先会进入"一般模式",此模式只接受各种快捷键,不能编辑文件内容
- 按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
- 编辑完成之后,按Esc键退出编辑模式,回到一般模式;
- 再按冒号,进入"底行命令模式",输入相关命令,回车即可
操作 | 命令 | 例子 |
进入指定文件 | vi 文件名 | |
高级文本编辑指定文件 | vim 文件名 | |
退出编辑模式,保存并且退出 | 按“esc”,输入:wq 指令 | |
退出编辑模式,强制保存并退出 | 按“esc”,输入:wq! 指令 | |
不保存强制退出 | 按“esc”,输入:q! 指令 | |
一般模式下光标跳到文件首行 | gg | |
一般模式下光标跳到文件末行 | G | |
一般模式下删除行 | dd | |
一般模式下复制行 | yy | |
一般模式下粘贴行 | p | |
一般模式下改行末尾插入 | A | |
底部命令模式,查找内容 | :/内容 | :/abc 查找文件中所有出现的abc字符,按n键定位到下一个位置 |
底部命令模式,查找并替换 | :%s/原内容/新内容 | :%s/sad/888 将文件中所有的sad替换为888 |
4.文件权限操作
用ll命令打印目录应该如下:
- d代表文件夹,r代表(read可读),w代表(可写),x代表(可执行)
- 第1位:文件类型(d:文件夹 -:文件 l:链接)
- 第2-4位rwx: 表示这个文件的拥有者对它的权限:可读可写可执行 文件拥有者:当初创建这个文件的用户
- 第5-7位rw-: 表示这个文件的所属组对它的权限:可读,可写,不可执行 用g(group)表示
- 第8-10位r--: 表示这个文件的其他用户对它的权限:可读,不可写,不可执行 用o(other)表示
- 第2-10位: 表示所有的权限,用a(all)表示
操作 | 命令 | 例子 |
修改指定文件对所属组的权限 | chmod g-或+rwx 文件名 | chmod g-rw hello.sh 表示将hello.sh对所属组的rw权限取消 (g:group) |
修改指定文件对其他人的权限 | chmod 0-或+rwx 文件名 | chmod o-rw hello.sh 表示将hello.sh对其他人的rw权限取消 (o:other) |
修改指定文件对所属用户的权限 | chmod u-或+rwx 文件名 | chmod u+x hello.sh 表示将hello.sh对所属用户的权限增加x (u:user) |
注1:目录没有执行权限的时候普通用户不能进入
注2:文件只有读写权限的时候普通用户是可以删除的(删除文件不是修改它,是操作父及目录),只要父级目录有执行和修改的权限
5.用户管理
-u 指定组ID(uid)
-g 指定所属的组名(gid)
-G 指定多个组,用逗号“,”分开(Groups)
-c 用户描述(comment)
-e 失效时间(expire date)
-d 指定主目录
操作 | 命令 | 例子 |
添加一个完整的用户 | useradd |
useradd -u 600 -g mygroup1 -c "miss you" -G mygroup2 -d /home/student1 s1 创建一个用户s1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/s1。 |
修改密码 | passwd 用户名 |
passwd s1 按提示输入密码(密码长度8位以上) |
删除用户 | userdel 用户名 |
userdel -r s1 删除s1用户,并且删除所有相关目录 |
切换用户 | su 用户名 |
su s1 切换到s1用户 |
给普通用户临时root权限 | sudo useradd abc |
用户名 |