Linux命令
1 Linux系统的简介
(1)Linux 支持多用户(普通用户和管理员用户)、多任务、多线程和多个核心CPU的操作系统
进程:正在运行的程序,比如QQ、微信
线程:运行在进程内部,比如QQ上的QQ空间,微信的朋友圈
多核心:四核,双核等
(2)Linux的发行版
将Linux与应用软件进行打包,目前常见的发行版:Ubuntu,RedHat,CentOS
2 Linux入门须知
Linux所有的内容都是以文件形式保存,不靠扩展名区分文件类型。
Linux命令区分大小写,命令之间有空格。
3系统管理相关命令
su | 切换另一个用户身份 |
| su huimin(切换普通用户 ;su root (切换到管理员,需要输入密码,公司中一般是运维人员) |
ifconfig | 显示或设置网络设备的命令 |
ping | 检查网络是否连通 |
kill | 杀死进程 |
| kill -9 进程号 ( 强制杀死进程) |
Ctrl+C | 停止进程 |
date | 显示日期,虚拟机时间 |
date -s 时间或日期 | 修改时间,在管理员身份下才可以 |
hostname | 查看主机名 |
who | 查询当前登录到系统的用户 |
whoami | 确认自己的身份 |
history | 查看当前用户运行命令的历史 |
4目录操作命令(会用到Xshell,xftp)
补充:目录的一些作用
/ | linux文件系统的上层根目录 |
root | 存放root用户的相关文件 |
home | 存放普通用户的相关文件 |
bin | 存放常用命令的目录,如vi,su,普通用户就可以读取的命令 |
sbin | 存放要具有一定权限才可以使用的命令 |
etc | 存放配置的相关文件 |
目录操作命令:
pwd | 显示当前路径 |
cd | 切换目录 |
cd ./ | 当前目录 |
cd ../ | 切换到上一级目录 |
cd / | 切换到根目录 |
cd ~ 或者只有cd | 切换到当前用户主目录(普通用户 : /home/用户名 ; root用户: / root) |
cd /opt cd bin | /opt/bin |
cd /opt cd /bin | /bin |
mkdir 目录名 | 创建一个目录,名称是目录名 |
mkdir -p 目录名1/目录名2 | 创建一个名称是目录名1/目录名2 的递归目录, 有层级关系的目录 |
rmdir 目录名 | 删除空目录 |
rm -rf 目录名 | 删除非空目录(r:递归删除,f:强制) |
5文件编辑命令
vi | 调出方法:vi a.txt (如果a.txt不存在,需要创建,保存退出即可) |
i | 进入 a.txt的编辑状态 |
ESC键 | 键盘上的ESC键退出编辑状态 |
:q! :wq | 不保存退出 :q! 保存退出 :wq |
/ | 对a.txt中的文字进行搜索,先ESC,再输入 /文字(想要搜索的文字) |
:set nu | 显示每一行的行数,先ESC,再:set nu |
G | 可直接定位到最末尾。先vi a.txt 再G |
6文件操作命令
ls | 查看目录及文件 |
ls -a | 查看所有文件 |
ls -l | 查看文件属性 |
cp [参数] 文件名或者目录 目标地址 | 复制命令 |
cp 文件名 目标地址 | 将文件复制到目标地址 |
cp -R 目录 目标地址 | 将目录复制到目标地址 |
cp a.txt b.txt | 将a文件复制且命名为b文件 |
cp 源文件路径 目标地址 | 将其他路径的文件拷贝到当前路径下 |
mv 文件名或目录 目标目录 | 移动命令 |
mv a.txt ../ | 将a文件移动到上一级目录 |
mv a.txt ../b.txt | 将a文件移动到上一级目录并改名为b文件 |
rm 文件 | 删除文件 |
rm -rf 文件 | 删除非空文件 |
find 路径 选项 | 查找文件 |
find . -name *.log | 在当前目录查找以.log结尾的文件(*代表匹配任意长度的字符串) |
find / -name log | 在根目录查找log命名的目录 |
grep 字符串 文件名 | 在指定的文件中查找字符串并打印该行 |
cat 文件名 | 查看文本文件内容 |
head -n X 文件名 | 查看前X行文件内容。 例如 head -n 5 test.txt 查看test.txt前5行内容 |
tail -n X 文件名 | 查看后X行文件内容。 例如 tail -n 4 test.txt 查看test.txt后4行内容 |
tail -f error.log | 不断刷新,看到最新内容 |
ps -ef | 查看所有运行进程,并显示启动进程的命令 |
| 命令输入显示的内容,UID:用户ID,PID:进程ID,PPID:父进程, C:进程cpu占用率;Stime:进程从启动到现在的时间,TTY:终端号, CMD:命令名称和参数 |
netstat -apn | 查看所有端口 |
| an,按一定顺序排列输出 p,表示显示哪个进程在调用 |
| | 在命令之间建立管道,将前面命令的输出作为后面命令的输入 如:ls | grep abc 管道前面的命令显示当前目录下的文件,后面从列出的文件名 中寻找含有abc字符串的文件或者目录 |
常见: 杀死服务进程 比如杀死Tomcat进程 | 通过进程名找到进程,再杀死进程 ps -ef | grep tomcat 假如:进程id是5541, 杀掉此进程: kill -9 5541 |
| 通过端口名找到进程,再杀死进程 netstst -apn | grep 8080 根据8080查进程 假如:进程id是5541, 杀掉此进程: kill -9 5541 |
无权限的错误提示是
permission denied | 权限不够,可切换root用户或者赋予权限 |
command not found | 命名没有找到,确认拼写是否正确 |
7权限赋予命令:chmod
rwx | rwx | rwx |
文件/目录所有者权限 | 所在组的权限 | 其他用户的权限 |
r | 4 |
w | 2 |
x | 1 |
- | 代表没有对应的权限 |
chmod -R xyz 文件或者目录 | xyz代表权限对应的数字, [-R]更改权限的时候才需要 |
如文件test.txt将rw-r--r-- 权限改为rw-r--rw- | 赋权命令是 chmod -R 646 test.txt |
8压缩命令
tar | tar -czvf test.tar.gz test 将test文件夹压缩为test.tai.gz |
| tar -xzvf test.tar.gz test 将test.tai.gz压缩包解压为test |
zip | zip -r test.zip test 将test文件压缩为test.zip,注意目录压缩必须加-r 文件压缩可以不加-r |
unzip | unzip test.zip 将test.zip解压 |
9关闭防火墙命令
查看防火墙状态 | service iptables status |
即时生效,重启后失效 | 开启 service iptables start |
| 关闭 service iptables stop |
永远关闭防火墙, 一般不要使用此命令 | 开启 chkconfig iptables on |
| 关闭 chkconfig iptables off |
10重启、关闭、退出登录命令(root才有权限)
重启命令 | reboot shutdown -r now |
关机命令 | halt shutdown -h now poweroff |
注销命令 | logout |