Linux 常用命令
- 用户切换
- su + 用户名
su root #切换到 root 账户 su ZHENG #切换到 ZHENG 账户
- 查看虚拟 IP 地址
- ifconfig
ifconfig
- 验证是否联网
- ping
ping www.baidu.com
- 查看当前目录下的文件和目录
ls ls -l #查看目录下的文件和目录详情 ll #查看目录下的文件和目录详情 ls -a #查看目录下所有文件和目录(包 含隐藏文件)
- 进入目录
- cd
cd #进入目录 cd / #进入根目录 cd dir #进入目录 dir 中 cd .. #返回上级目录
- pwd 显示当前所在目录的绝对路径
- 创建空文件
- touch
touch file #创建一个命名为 file 的空文件
- 创建空目录
- mkdir
mkdir dir #创建一个命名为 dir 的空目录
- 递归创建空目录/创建多级目录
- mkdir -p
mkdir -p dir1/dir2/dir3
- 删除命令
- rm
rm file #删除文件,且删除前需进行确认 rm -r #删除目录和文件,删除目录时,会确认是否进 入目录,然后对目录中文件进行删除,选择n,目录就无法删除 rm -rf file rm -rf dir #强制删除文件/目录 rm -rf * #清空当前目录
- 复制
- cp 复制文件
- cp -r 复制目录
cp file1 file2 #复制当前目录下的 file1 到当前目录下,且命名为 file2 cp /dir1/file1 /dir2/file2 #复制 dir1 目录下的文件 file1 到 dir2 下,且命名为 file2 cp -r dir1 dir2 #复制当前目录下的 dir1 到当前目录下,且命名为 dir2 cp /dir1/dir2 /dir3/file4 #复制 dir1 目录下的目录 dir2 到 dir3 下,且命名为 dir4
- mv 命令
- 移动文件
- 重命名
mv file1 /dir1 #移动文件 file1 到根目录下的 dir1 目录中 mv file1 file2 #重命名 file1 为 file2
- cat 查看命令
- 注意点:cat常可以跟管道符 "|",grep 命令组合使用
cat file1 #查看 file1 文件的所有内容 cat file1 | grep dcs #查看 file1 中带有 dcs 的行
cat log.txt | grep 'warning' -A 5 # 意思是,在log.txt文件中,查找warning字符,并显示warning所在行的之后5行 cat log.txt | grep 'warning' -B 5 # 之前5行 cat log.txt | grep 'warning' -C 5 # 前后5行 cat log.txt | grep -v 'warning' # 排除warning所在的行的信息
- head 查看命令
- 默认查看前 10 行
- head -n 指定行数
head file1 #默认查看文件 file1 前 10 行 head -n 5 file1 #查看文件 file1 前 5 行
- tail 查看命令
- 默认查看后 10 行
- tail -n 指定行数
tail file1 #默认查看文件 file1 后 10 行 tail -n 5 file1 #查看文件 file1 后 5 行
- more 查看命令
-
针对内容非常多的文件,支持翻页查看
-
点击 enter 键,向下翻页,显示百分比,到百分之百,自动退出。
- 点击 b 键,向上翻页
-
more file1 #分页查看
- less 查看命令
-
针对内容多的文件,支持翻页查看
-
点击 space 键,向下翻页,直到最后显示 END
- 点击b键,向上翻页
-
键盘ctrl+z 才能退出
-
less file1 #分页查看
- find 查找
find / -name filename #从根目录下搜索名称为 filename 的文件 find / -name dirname #从根目录下搜索名称为 dirname 的目录 find /home -name dirname #从根目录下的 home 目录下搜索名称为 dirname 的目录 find ./ -name a* #从当前目录下搜索以 a 开头的文件或目录
- useradd 添加用户
useradd XiaoZheng #添加 XiaoZheng 用户 cat /etc/passwd #查看用户
- userdel 删除用户
-
删除用户需要加 -r 参数,否则在删除用户的时候不会删除干净
-
userdel -r XiaoZheng #删除 XiaoZheng 用户
- groupadd 添加用户组
groupadd lisi #添加用户组 lisi cat /etc/group #查看用户组
- groupdel 删除用户组
groupdel lisi #删除用户组
- chmod 修改文件/目录的权限
-
r:读权限,用数字 4 表示
-
w:写权限 ,用数字 2 表示
-
x:执行权限,用数字 1 表示
-
-rwxrwxrwx. 1 root root 996 Mar 31 00:00 aa # 第1位 "-" 代表这是一个文件 # 前3位,代表着用户主拥有的权限 # 中3位,代表着用户组拥有的权限 # 后3位,代表着其他人拥有的权限
----------. 1 root root 996 Mar 31 00:00 aa chmod u+r aa chmod g+w aa chmod o+x aa #结果如下 -r---w---x. 1 root root 996 Mar 31 00:00 aa
----------. 1 root root 996 Mar 31 00:00 aa chmod 777 aa
#结果如下 -rwxrwxrwx. 1 root root 996 Mar 31 00:00 aa
- chown 修改文件主的拥有者
- chown -R
-r---w---x. 1 root root 996 Mar 31 00:00 aa chown Alex aa #结果如下 -r---w---x. 1 Alex root 996 Mar 31 00:00 aa
drwxr-xr-x. 2 root root 4096 Mar 31 01:24 dir #目录 dir chown -R Alex dir #递归修改目录 dir 下所有的子目录和文件主的拥有者为 Alex
- chgrp 修改文件组的拥有者
-r---w---x. 1 root root 996 Mar 31 00:00 aa chgrp Alex aa #结果如下 -r---w---x. 1 root Alex 996 Mar 31 00:00 aa
drwxr-xr-x. 2 root root 4096 Mar 31 01:24 dir #目录 dir chgrp -R Alex dir #递归修改目录 dir 下所有的子目录和文件组的拥有者为 Alex
- lrzsz 工具
- yum install lrzsz 在线下载 lrzsz 工具
- rz:本地往 Linux 里上传文件
- sz:Linux 往本地下载文件
- yum 命令
- yum install xxx 在线下载 xxx
yum install lrzsz
- tar 包
- tar -cvf file.tar file 将 file 目标文件打包成 file.tar 文件
- tar -xvf file.tar 将 file.tar 解压
- tar.gz 包
- tar -zcvf file.tar.gz file 将 file 源文件打包备份成 file.tar.gz 文件
- tar -zxvf file.tar.gz 解压 file.tar.gz 文件
- zip 包
- zip file.zip file 将 file 文件打包成 file.zip
- unzip yy.zip 将 file.zip 解压
-
zip -r + dir 把 dir 目录打一个 zip 包
- gz 包
- gzip file 将文件 file 打包
- 该打包方式后无原文件
- gunzip file.gz 解压 file.gz 包
- 解压后无压缩文件
- gzip file 将文件 file 打包
- war 包
- 打包 war 包(前提是需要安装 java 环境 jdk)
- jar -cvfM file.war ./file ( ./file 文件的绝对路径)
- 解压 war 包
-
jar -xvf file.war(jar 解压 war 包时不能解压到指定文件夹,只能解压到当前目录)
-
unzip file.war –d file(unzip 解压可以解压到指定文件夹,-d 后面接文件夹名)
-
- 打包 war 包(前提是需要安装 java 环境 jdk)
- 重定向符号
- > 覆盖
- >> 追加
cat file1 > file2 #把 file1 文件中的内容覆盖到 file2 cat file1 >> file2 #把 file1 文件中的内容追加到 file2 文件末尾
- df 查看磁盘使用情况
- df -h 带单位显示磁盘使用情况
- top 持续查看 cpu 使用情况
-
top -d + 秒 设定间隔时间查看资源使用情况
-
- free 查看内存使用情况
- ps 查看进程的命令
- ps aux 查看所有用户的进程
-
ps -ef | grep tomcat 查看 tomcat 的进程
- kill 杀进程
- kill -9 强制杀进程
kill 10923 #杀掉进程号为 10923 的进程 kill -9 10923 #强制杀掉进程号为 10923 的进程
- pkill 进程名,或者 killall 进程名
- netstat -ntlp 查看所有已经开启的端口
- lsof -i:port 查看占用 port 端口的服务
-
who 查看在线登录用户
-
whoami 查看当前操作用户
-
hostname 查看主机名称
-
getconf LONG_BIT 查看内核信息
[root@localhost bin]# getconf LONG_BIT 64
- du -sh 查看当前目录的大小
-
du -sh + 文件/目录 查看某个文件/目录的大小
-
reboot 重启 linux 系统
-
shutdown
-
shutdown now 关机
-
- alter 关机
- init 0 关机
-
users 显示当前登录的用户
- id 查看当前用户的 uid、gid、groups
- clear 清屏
- history 打印历史操作命令
- history -c 清除历史操作命令
- service xxx restart 重启 xxx 服务
- service xxx stop 停止 xxx 服务
- service xxx start 启动 xxx 服务
- date 查看日期
- date -s 修改服务器日期
date -s "2008-10-20 12:00:00" #修改服务器时间为 "2008-10-20 12:00:00"
- scp 命令(切换到桥接模式下进行如下操作)实现两个不同 linux 服务器之间文件传输
- 从服务器1传输文件到服务器2
- scp + 本地文件名称 用户@服务器2 ip地址:/保存的路径
- 例子:把服务器1(192.168.1.101)home目录下 file1 传输到服务器2(192.168.1.102) home 目录下
- scp /home/file1 root@192.168.1.102:/home/
- 输入服务器2的密码
- 从服务器1中操作拿服务器2 中的文件
- scp 用户@服务器2:路径下的文件 服务器1的保存路径
- 例子:把服务器2(192.168.1.102)中home目录下的file1 拿到服务器 1home目录下
- scp root@192.168.1.102:/home/file1 /home
- vim 操作命令
- a 命令 - 从命令模式进入到编辑模式,在光标所在位置后进行输入
- A 命令 - 从命令模式进入到编辑模式,在光标所在行尾进行输入
- i 命令 - 从命令模式进入到编辑模式,在光标所在位置前进行输入
- I 命令 - 从命令模式进入到编辑模式,在光标所在行首进行输入
- o 命令 - 从命令模式进入到编辑模式,在光标所在行下一行输入
- O 命令 - 从命令模式进入到编辑模式,在光标所在行上一行输入
- x 命令 - 对光标所在的字符进行删除
- X 命令 - 对光标所在前的单个字符进行删除
- dd 命令 - 删除光标所在行
- D 命令 - 删除光标所在字符到行尾的内容
- yy 命令 - 复制光标所在行的内容
- 3yy 命令 - 复制包含光标所在行的指定行数
- p 命令 - 在光标所在行的下一行进行粘贴
- P 命令 - 在光标所在行的上一行进行粘贴
- vim 末行模式
- wq 命令 - 保存并退出
- w 命令 - 保存
- wq! 命令 - 强制保存,退出
- q! 命令 - 强制退出
- set nu 命令 - 设置行号/显示行号
- set nonu 命令 - 取消行号显示
- m,ny 命令 - 复制m~n行
- m,nw +文件名称 - 指定m~n行,写入到一个新文件
- /字符串 - 匹配的字符串高亮显示
- noh 命令 - 取消高亮显示效果
作者:一个老宅男
微信:ZhengYing8887
出处:https://www.cnblogs.com/ZhengYing0813/
备注:本文版权归作者所有,欢迎转载和添加作者微信探讨技术,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。