欢迎关注个人公众号:爱喝可可牛奶
Linux常用命令(不涉及第三方软件)
这是我在日常开发过程中经常用到的一些命令,希望可以帮到你
目录结构
/bin 二进制可执行命令。该目录下存放着普通用户的命令
/boot 启动Linux的核心文件
/data 用户用于存放日志等数据的目录
/dev 系统的设备文件,即设备的驱动程序
/etc 系统所有的配置文件都在这个目录中
/home 用户主目录的基点
/lib 存放着和系统运行相关的库文件
/lost-found 这个目录平时是空的,当系统非正常关机而留下的“无家可归”的文件便会储存在这里
/media 存放着可移除的设备,比如软盘,光盘
/misc 储存着一些特殊的字符的定义
/mnt 挂载目录,是系统管理员临时安装文件的系统安装点
/net 存放着和网络相关的一些文件
/opt (option : 自由选择)主要给源码安装软件时选择的安装目录位置
/proc 存放着用户与内核的交互信息
/root 超级用户的目录
/sbin 系统的管理命令,这里存放的是系统管理员使用的程序
/selinux 主要用来加固操作系统,提高系统的安全性
/srv 系统启动服务时可以访问的数据库目录
/sys 管理设备文件
/tmp 临时文件,重启后自动清空
/var 某些大文件的溢出区,比如各种服务的日志文件
/usr 最大的目录,存放着应用程序和文件
基础命令
tar
tar -xzvf file_name 解压缩
tar -xzvf file_name.tar -C /path/to/directory 解压缩至指定目录
pwd
当前路径
文件 & 文件夹
-
mkdir 目录就是文件夹
-
touch
-
cd
- cd .. 进入上一级目录
- cd - 返回上次目录
- cd 进入个人主目录 (root用户进入 /root)
-
ls
- ls -al a包含隐藏文件 l显示文件和目录的详细资料
-
cp
- cp harbor/* /opt/harbor
-
mv
- 剪切
-
rm
- rm -fr 删除文件或目录 f强制 r递归
-
rename
-
tree
-
cat
-
find
- 查找目录/文件:find / -name '查找关键字' (/ /root /usr都行)
chmod
chmod [-cfvR] [--help] [--version] mode file
u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
- chmod ugo+x file1 给file1的所有用户添加执行权限
- chmod ug+x,o-x file1.txt file2.txt 给所属用户和用户组添加可执行权限 其他用户拒绝可执行权限
- chmod -R a+r * 开放当前目录及子目录下所有文件读权限给所有人 -R表示递归
网络操作
- wget 下载文件
- ifconfig 查看、配置、启用或禁用网络接口的命令
端口相关
netstat -tunlp
用于显示 tcp,udp 的端口和进程等相关情况
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
通过管道显示特定端口:
netstat -tunlp | grep 端口号
进程相关
pstree
查看进程树
ps(process state)
- a: 所有与终端有关的进程
- x: 所有与终端无关的进程
- u:显示进程的启动用户
ps aux
top
动态实时显示cpu、内存、进程等使用情况
kill -9 进程号
强制杀死进程
jps
java process state
文件相关
lsof
安装 yum install lsof
- lsof -i TCP:22 打开使用22端口的所有文件
- lsof -u user1 打开user1使用的所有文件
- lsof -i 4 打开ipv4 使用的文件
- lsof -i 打开所有网络连接
- lsof -p 1 根据PID打开文件
- lsof -t -i :8080 仅获取使用8080端口的进程pid
- lsof -i:8080
根据进程杀死端口
kill $(lsof -t -i:8080)
# 强制杀死进程
kill -9 $(lsof -t -i:8080)
文本处理
grep
global search regular expression(RE) and print out the line
- grep match_pattern file_name 在文件中查找
- grep match_pattern file_name1 file_name2 在多个文件中查找