# Linux 常用命令
# 命令的基本格式
[root@localhost ~]#
- root: 当前登陆用户
- localhost: 主机名
- ~: 当前所在目录(家目录) root 在 /root,其他用户在 /home/username
- #|$: 超级/普通 用户提示符
命令格式:命令 [选项] [参数]
个别命令使用不遵循此格式。当有多个选项时,可以写在一起简化选项与完整选项 -a 等于 --all
ls
ls -[alhdi] # a: 显示文件,包括隐藏文件。l: 显示详细信息。d: 查看目录属性. h:人性化显示文件大小。i: 显示 inode
ls -l
# -rw-r--r--. 1 root root 1426 Jul 18 22:53 anaconda-ks.conf
# 第一位 -: 文件类型,d: 目录类型 l: 软连接
# rw-: u 所有者
# r--: g 所属组
# r--: o 其他人
# . 调调 ACL 权限
# r 读 w 写 x 执行
# 1 代表引用计数
# root 第一个代表所有者
# root 第二个代表所有组
# 1426 大小,字节 b
# 时间:最后一次修改时间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 软件操作命令
软件包管理:yum
# 安装软件
yum install xxx
# 卸载软件
yum remove xxx
# 搜索软件
yum search xxx
# 清理缓存
yum clear packages
# 列出已安装
yum list
# 软件包信心
yum info xxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 服务器硬件资源信息
# 内存
free -m
# 硬盘
df -h
# 负载
w/top
# cpu个数和核数
cat /proc/cpuinfo
# 磁盘操作
fdisk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 文件操作命令
# 文件目录结构
- 根目录 /
- 启动目录,保存着用户的启动数据 /boot
- 特殊文件保存目录 /dev
- 普通用户家目录 /home
- 超级用户家目录 /root
- Linux 中函数库保存位置 /lib
- 挂载其他盘符目录例如打印机,USB 等 /media /mnt /misc
- 内存的挂载点,不能直接操作 /proc /sys
- 临时目录 /tmp
- 配置目录 /etc
- 系统相关文档内容 /var
- 用户程序软件资源目录 /usr
- 保存系统命令 /bin /sbin /usr/bin /usr/sbin,其中 bin 目录是所有用户可以执行的命令,sbin 是超级用户才可以执行的命令
# 文件权限
权限 | 数字 |
---|---|
r(可读) | 4 |
w(可写) | 2 |
x(可执行) | 1 |
cp -[rpda] # r 复制目录 p 连带文件属性复制 d 若源文件时链接文件,则复制链接属性 a 相当于 pdr
1
# 链接命令 ln
ln -s [源文件] [目标文件]
# 生成链接文件, -s 创建软链接
1
2
2
硬链接特征:
- 拥有相同的 i 节点和存储 block 块,可以看作是同一个文件
- 可通过 i 节点识别
- 不能跨分区
- 不能针对目录使用
软链接特征:
- 类似 Windows 快捷方式
- 软链接拥有自己的 I 节点和 Block 块,但是数据块中只保存原文件的文件名和 I 节点号,并没有实际的文件数据
- lrwxrwxrwx: l 软链接,软链接的文件权限都为 rwxrwxrwx
- 修改任意文件,另一个都改变
- 删除原文件,软链接不能使用
# 文件搜索、查找、读取
命令 | 解释 |
---|---|
tail | 从文件尾部读取 |
head | 从文件头部读取 |
cat | 预览整个文件 |
more | 分页读取 |
less | 可控分页 |
grep | 搜索关键字 |
find | 查找文件,比 location 慢,但是非常强大 |
wc | 统计个数 |
locate | 文件搜索,yum install mlocate,配置文件在 /etc/updatedb.conf |
whereis | 系统命令所在路径 |
which | 系统命令所在路径及别名 |
whatis | 查看系统命令是干什么的 |
# 在 file 中查找 text 文本
grep 'text' file
# 在 file 中查找文本并显示行号
grep -n 'text' file
# 统计文件行数
wc -l
# 查找当前文件加下所有以 .conf 结尾的文件
find . -name '*.conf'
# 按类型查找
find . -type d # 文件夹
find . -type f # 文件
# 查找20天内更新过的文件
find . -ctime -20
locate [文件名]
# 在后台数据库中按文件名搜索,搜索速度快,/var/lib/mlocate 为 locate 命令所搜索的后台数据库,数据库不是实时更新,所以刚新建的文件搜不到
updatedb
# 更新数据库
whereis [命令名]
# 搜索命令所在路径及帮助文档所在位置
# 选项: -b 只查找可执行文件 -m 只查找帮助文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 环境变量
PATH 环境变量: 定义的是系统搜索命令的路径,通过 :
分割
echo $PATH
# /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
1
2
2
# 系统用户操作命令
命令 | 解释 |
---|---|
useradd | 添加用户 |
adduser | 添加用户 |
userdel | 删除用户 |
passwd | 设置密码 |
# sudo 提权
给 newming 用户提权
visudo
# 修改文件,增加一行退出保存就可以了
## Allows people in group wheel to run all commands
%newming ALL=(ALL) ALL
1
2
3
4
5
2
3
4
5
http://www.ruanyifeng.com/blog/2014/03/server_setup.html
# 文件下载上传
# 服务器文件下载
wget http://www.baidu.com
curl -o test.html http://www.baidu.com
# 本地文件上传到服务器
scp -P port file root@ip:path
# 本地下载服务器文件
scp -P port root@ip:path file
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# chmod
# 修改文件权限
sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
# 修改文件所有者
sudo chown -R newming:newming /data
1
2
3
4
5
2
3
4
5
# 查看登录用户信息
# w 命令
查看当前系统登录的用户信息
w
1
命令输出:
- USER: 登录的用户名
- TTY: 登录终端
- FROM: 从哪个IP地址登录
- LOGIN@: 登录时间
- IDLE: 用户闲置时间
- JCPU: 指的是和该终端连接的所有进程占用的时间,这个时间不包含过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间
- PCPU: 指当前进程所占用的时间
- WHAT: 当前正在运行的命令
# who 命令
who
1
命令输出:
- 用户名
- 登录终端
- 登陆时间(登录来源 IP 地址)
# 查询当前登录和过去登录的用户信息
last 命令默认是读取 /var/log/wtmp 文件数据
last
1
命令输出:
- 用户名
- 登录终端
- 登录 IP
- 登录时间
- 退出时间(在线时间)
# lastlog
查看所有用户的最后一次登录时间
lastlog 命令默认是读取 /var/log/lastlog 文件内容
lastlog
1
命令输出:
- 用户名
- 登录终端
- 登录 IP
- 最后一次登录时间