linux常用命令
基础
切换用户:su 用户名
查看当前网络的设置:ip addr 或者 ip add 或者ip a
进入文本编辑:vi 文件名 或者 vim 文件名
重启linux系统:reboot
远程连接:ssh root@虚拟机的ip 或者使用工具连接(tabby、finalshell...)
补全代码:tab键 (如果下面有多个文件,则双击tab可列出文件列表)
进入文件夹(目录)下:cd 文件夹(目录名)
查看帮助手册:目标命令 -h 或者 目标命令 --help 或者 man 目标命令
复制:cp /路径/源文件 /路径/目标文件
移动或者重命名:mv /路径/源文件 /路径/目标文件
删除:rm /路径/文件
递归删除:rm -r /路径/文件
强制不提示删除:rm -f /路径/文件
删库跑路,公司禁止用(会删除/更目录下所有内容):rm -rf /*
打印当前所在的目录:pwd
查看文件夹中的文件:ls
查看所有文件,包括隐藏文件:ls -a
查看文件权限:ls -l(可简写为ll)
首字母:
1. \- : 文件
2. d:文件夹
3. l:软连接
4. c:char设备,字符设备(输入的键盘按键都 字符设备提供的功能)
5. b:block设备,块设备(U盘,光驱,块设备)第2到4个字母:表示文件所属`用户`的权限
第5到7个字母:表示文件所属`用户组`的权限
第8到10个字母:表示`其他用户`的权限(非文件所属用户和非文件所属用户组的用户)
第11个字符 点(了解): 属于selinux的(就是linux自己的防火墙的权限)但是默认都会关掉selinux。

修改用户权限:chmod [选项] 权限模式 文件名(目录名)
针对文件:r是read 读:cat,vi查看,tail,head,less,more,有r权限,才能用这些命令去读它。w是write 写:echo >> 重定向追加 ,vi,`sed`x是execute 执行: ./xxx.sh 直接运行脚本。cd 进不进去针对文件夹:r:允许 ls 查看文件夹里面的内容w:允许在文件夹内部新增文件【夹】,cp,mv,touch,mkdir,rm等都是对应w权限。x:如果没有x权限,则该文件夹无法cd进去选项和权限:augo: 请记住则4个字母a:all,所有(用户,用户组,其他)u:user 用户g:group 用户组o:other 其他+-=:+ 添加权限- 去掉权限= 直接赋予权限
数字修改文件权限:chmod 3位权限数字 文件名(目录名)
对应权限数字如下:
| 权限 | 数值 |
|---|---|
| r | 4 |
| w | 2 |
| x | 1 |
文件只允许管理员拥有所有权限,其他用户什么权限都不能有:chmod 770 文件名(目录名)
修改文件归属:chown [选项] 新所有者[:新所属组] 文件名/目录名 (选项-R递归更新文件下所有文件所属)
列出进程信息:ps -ef 常结合管道符|用的:ps -ef | grep 程序名(如:java)
杀死进程: 正常退出进程:kill -15 进程id 强制退出进程,容易被开除:kill -9 pid
查看历史命令:history
查看命令所在目录:which 命令名
测试某个ip或者域名是否联通(协议icmp的命令):ping 目标ip或域名
创建文件夹:mkdir 文件夹名称
创建多层级文件夹:mkdir -p 文件夹名称
删除空文件夹:rmdir 文件夹名称
删除多层级文件夹:rmdir -p 文件夹名称
创建文件:touch 文件名 或者 vi 文件名(并保存退出) 或者 vim 文件名(并保存退出) 或者 echo "内容" > 文件名
创建多层级文件:touch -p 文件名
写入内容到文件:echo "内容" > 文件名 或者 vi/vim进入文件内容编写
查看文件内容:cat 文件名1 文件名2 ...
默认查看前n行文件:head -n 文件名
默认查看后n行文件:tail -n 文件名
分页查看:less (不会污染终端) 或者 more (会污染终端)
-
0 stdin :标准输入1 stdout:标准输出2 stderr:错误输出 -
> 输出重定向>> 追加输出重定向< 输入重定向
find / -name "e*" 2> /dev/null 1>search.txt:将前面的结果错误的输入到黑洞中(/dev/null),正确的输入到search.txt中
查看防火墙状态:systemctl status firewalld
开启防火墙:systemctl start firewalld
关闭防火墙:sysytemctl stop firewalld
设置防火墙开机不自启:systemctl disable firewalld
设置防火墙开机自启:systemctl disable firewalld
重启网络服务:systemctl restart network
进阶
查询某个yum安装包里面,下载的内容列表。只列出了其中下载好的命令:rpm -ql net-tools
通过下载的命令,反查来自于那个 rpm包:which 命令名
让普通用户可以使用管理员权限运行某个命令:sudo 命令
软连接:ln -s 目标文件 软连接文件
解压:tar -zxvf xxx.tar.gz (x:解压 z:gzip v: verbose 详情列表 f)
压缩:tar -zcvf xxx xxx压缩后的名字.tar.gz
文件传输 本地--> 远程:scp [本地文件路径] [远程用户名]@[远程服务器IP]:[远程目标路径](虚拟机上传到本地同理;注意:本地和远程文件传输时,需要到本地服务器中传输,确保可以输入密码,另外上传过程中还需要输入远程服务器的密码,除非配置类ssh公私钥)
文件传输 远程-->本地:scp [远程用户名]@[远程服务器IP]:[远程目标路径] [本地文件路径]
新增用户:useradd 用户名
修改用户信息:usermod [选项] 用户名(-l 修改用户名 -d修改家目录 -g修改用户组 -G添加附加组 -L锁定用户,无法登录 -U解锁用户)
删除用户:userdel 用户名
修改用户密码:passwd 用户名(管理员修改无序输入旧密码)
查看用户列表:cat /etc/passwd
新增用户组:groupadd 用户组名
修改用户组:groupmod 用户组名
删除用户组名:groupdel 用户组名
添加用户到某个组:gpasswd -a 用户名 用户组名
查看用户组列表和用户归属:cat /etc/group
执行shell文件:./sh文件(进入脚本所在目录下,需要x权限) 或者 sh sh文件(不用x权限也行)或者 source sh文件 或者 . sh文件
查看磁盘使用情况:df -hT
计算表达式(加减乘除取余等):expr 表达式
设置环境变量:export 变量
查看环境变量:env 变量名
