好记性不如烂笔头,记录一下日常工作学习中常使用的 Linux 命令。
安装磁盘分配
/boot
用来存放与 Linux 系统启动有关的程序,比如启动引导装载程序等,建议大小为 100MB。swap
实现虚拟内存,建议大小是物理内存的1~2倍。/
Linux系统的根目录,所有的目录都挂在这个目录下面,建议大小为5GB以上。/home
存放普通用户的数据,是普通用户的宿主目录,建议大小为剩下的空间。
系统目录结构
/
:存放系统程序,也就是 At&t 开发的 Unix 程序。/usr
:存放 Unix 系统商(比如 IBM 和 HP)开发的程序。/usr/local
:存放用户自己安装的程序。/opt
:在某些系统,用于存放第三方厂商开发的程序,所以取名为 option,意为 “选装”。
常用基本命令
ls
列出当前目录下的文件ls ser*
查找 ser 打头的文件ls -l
(简化为:ll
)列出当前目录下文件的详细信息ls -a
列出当前目录下的所有文件(包括隐藏文件)ls -t
依时间排序,而不是用档名ls -S
依大小排序,ls -Sr
按大小倒序ls --full-time
以完整时间模式 (包含年、月、日、时、分) 输出( Mac 是ls -T
)ll -d
查看当前目录的详细信息ll -a
详细列出当前目录下的所有文件ll 路径
列出指定路径(可为相对或绝对路径)下的文件ll -d 路径
查看指定路径的详细信息- 打开文件夹:
cd 路径
cd /etc (相对路径)
或cd xxx(绝对路径)
- 返回上一级目录:
cd ..
- 查看当前目录:
pwd
(path where dir) - 查看当前用户:
whoami
- 切换用户:
su -用户名
或者su 用户名
(从其他用户切换到 root 用户需要密码,从 root 用户切换到任何其他用户不需要密码)- 切换到 root 用户:su
- 切换到 root 用户后使用命令:exit 切换到普通用户
- 清屏:
clear
或者Ctrl + L
- 关机:
halt
或者shutdown -h now
- 修改密码:修改 root 自己的密码,直接输入
passwd
,输入两遍新密码即可。若修改其他用户,如 oracle 的密码,可直接输入passwd oracle
,输入两遍性新密码即可。 - 查看系统编码:
locale
- 获取权限:
chmod 777 文件名
- 检索(例如检索 profile):
ls -l | grep profile
- 文件拖拽软件安装:
yum install lrzsz
- 查看进程:
ps -ef
、ps auxf
- 查看端口:
netstat -antlp | grep xx
- 查看资源占用情况:
top
(Shit + >
切换排序列) - 查看内存:
free -m/g
- 查看目录大小:
du -sh /opt/registry
- 修改配置文件后立即生效:
sysctl -p
- 查看系统环境变量:
env
dirname
用于取指定路径所在的目录,如:dirname /home/ikidou
,结果为:/home
cd dirname $0
:一般用户 Shell 脚本中,切换到执行脚本所在的目录tee
:在执行 Linux 命令时,我们可以把输出重定向到文件中,比如ls > a.txt
,这时我们就不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee
命令tree
:树形查看当前目录结构- 系统负载查看:
uptime
、w
、top
命令- “load average”,它的意思是 “系统的平均负荷”,里面有三个数字表示 1分钟、5分钟、15分钟内系统的平均负荷。
- 列出谁在使用 3306 端口:
lsof -i:3306
文件操作命令
路径(绝对路径、相对路径)
创建文件夹:
mkdir [路径] + 文件夹
mkdir [路径] + 文件夹1 [路径] + 文件夹2
(可以同时创建多个文件夹,空格隔开)mkdir -p [路径]/[路径]
(创建多层级目录)
创建文件:
touch [路径] + 文件名
touch [路径] + 文件名1 [路径] + 文件名2
(可以同时创建多个文件,空格隔开)
如何区分是文件夹还是文件:
删除(remove)文件:
rm [路径] + 文件名
(可以删除多个文件,每个文件用空格隔开)- 删除文件夹:
rm -r 文件夹1 文件夹2
(递归 recursive 删除文件夹1和文件夹2下的所有内容,每删除一个会提示) rm -rf 文件夹
(强制 force 删除文件夹下的所有内容,不提示删除)删除后无法还原- 删除文件夹或者:
rmdir 文件夹
(文件夹必须为空) - 删除所有内容:
rm -rf *
- 删除文件夹:
复制(copy)文件:
cp 源文件 目标文件夹
(正常情况下使用绝对路径) -复制文件夹:cp -r 源文件 目标文件夹
移动(move)文件:
mv 源文件 目标文件夹
(正常情况下使用绝对路径)- 移动文件夹:
mv 源文件夹 目标文件夹
- 重命名:
mv aa.txt aaaa.txt
- 移动文件夹:
文件读写命令
echo "Hello World" >> a.txt
将字符串 Hello World追加
到文件 a.txt 中。echo "Hello World" > a.txt
将文件 a.txt 中的内容替换
为字符串 Hello World。
- 查看文件内容:
cat a.txt
more services
分页查看 services 文件中的内容,按空格或 f 切换下一页,回车下一行,q 退出。(文件内容较多时使用)head services
查看 services 文件前 10 行的内容(默认前 10 行)head -20 services
(前20行的内容)tail services
查看 services 文件结尾 10 行的内容tail -20f services
(滚动显示结尾 20 行的内容)vi/vim services
vi 可以修改文件
- 文件链接:
ln 文件 链接
修改源文件或者链接文件,两者同时更新ln -s /test/a.txt /test/as.txt
软链接 as.txt 就是针对 a.txt 的软链接(类似如 windows 的快捷方式)a.txt 删除后,as.txt无效ln /test/a.txt /test/ah.txt
硬链接 a.txt 删除后 ah.txt 仍然有效