linux常用命令
1. 简单系统常用命令
# 查看ip地址
ip a
ip addr
# ping网络(测试网络连通)
ip 目标机器的ip
# 查看系统时间
date
# 注销
logout
# 关机
shutdown now
# 重启
reboot
# 清屏
clear
2. linux文件系统
Linux | 含义 | windows |
/bin | 所有用户可用的基本命令存放的位置 | windows没有固定的命令存放目录 |
/sbin | 需要管理员权限才能使用的命令 | |
/boot | linux系统启动的时候需要加载和使用的文件 | |
/dev | 外设连接linux后,对应的文件存放的位置 | 类似Windows中的U盘,光盘的符号文件 |
/etc | 存放系统或者安装的程序的配置文件,注册服务等 | 类似windows中的注册表 |
/home | 家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹 | 类似windows中的"我的文档",每个用户有自己的目录 |
/root | root账户的家目录,仅供root账户使用 | 类似windows中的Administrator账户的"我的文档" |
/lib | linux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar | |
/usr | 很多系统软件的默认安装路径 | 类似windows中的C盘下的Program Files目录 |
/var | 系统和程序运行产生的日志文件和缓存文件放在这里 |
3. ls命令
ls / # 查看指定目录下的文件
ls -l # 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
ls -a # 查看隐藏文件
4. cat命令
# 查看文件中的全部信息(适合查看小文档)
cat 文件名
5. less 文件名 (以分页的方式浏览文件信息(适合查看大文档),进入浏览模式)
# 浏览模式快捷键
↑ #上一行
↓ #下一行
G #最后一页
g #第一页
空格 #下一页
/关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
q #退出
6. # tail 命令 (实时滚动显示文件的最后10行信息(默认10行))
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名
7. 新建文件夹
# 在当前位置新建文件夹或文件
mkdir 文件夹名
# 在指定目录位置,创建文件夹,并创建父文件夹
mkdir -p /a/b/文件夹名
# 在当前目录下新建文件
touch 文件名
8. 删除文件
# 删除文件
rm 文件
# 删除文件夹
rm -r 文件夹
# 强制删除不询问
rm -rf 文件
9. 删除文件
# 删除文件
rm 文件
# 删除文件夹
rm -r 文件夹
# 强制删除不询问
rm -rf 文件
10. # 拷贝文件
cp 原文件 新文件
# 拷贝文件夹
cp -r 源文件夹 新文件夹
11. 移动或修改文件夹
# 移动源文件到目标文件夹中
mv 文件 文件夹
# 修改文件A的名字为文件B
mv 文件A 文件B
12. 获取文件的md5指纹(数字签名)
md5sum 文件名
# 简介
a. 数字签名,又称数字指纹
b. 可以验证文件是否被修改
c. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)
13. 文件名查找
# 语法
find 搜索路径 -name "文件名关键词"
# 例子
find / -name "passwd"
find / -name "ifcfg-*"
14. 文件内容查找
# 语法
grep -参数 要查找的目录范围
# 参数
-n 显示查找结果所在行号
-R 递归查找目录下的所有文件
# 例子
grep aries /etc
grep aries /etc/passwd
15. 文件链接
a. 模型图
说明:
# 文件名
该文件的名字
# inode
该文件的元数据
# datablock
该文件真正保存的数据
# ls命令查看的都是linux的元数据信息
b. 硬链接
ln 源文件 硬链接文件
c. 软连接
ln -s 目标文件或文件夹 软连接名字
16. 系统管理
# 静态查看系统进程
ps -aux
# 实时查看系统进程
top
# 快捷键
↑ 下翻
↓ 上翻
q 退出
# 关闭进程
kill 进程id
# 强制关闭进程(谨慎使用)
kill -9 进程id
17. 输出到文件
a. 覆盖输出
# 将命令1的执行结果,输出到后面的文件中。
命令1 > 文件
# 例子
date > date.log
b. 追加输出
# 将命令1的执行结果,输出到后面的文件中。
命令1 >> 文件
# 例子
date >> date.log
18. 管道
# 语法,将命令1的输出结果,作为命令2的输入
命令1 | 命令2
# 例子
查找aries用户:cat /etc/passwd | grep -n “baizhi”
查找aries组:cat /etc/group | grep -n “baizhi”
查找sshd进程:ps -aux | grep sshd
19. 系统权限
a. 用户组
创建组
`groupadd 组名`
删除组
`groupdel 组名`
查找系统中的组
`cat /etc/group | grep -n “组名”`
说明:系统每个组信息都会被存放在/etc/group的文件中
b. 用户
创建用户
`useradd -g 组名 用户名`
设置密码
`passwd 用户名`
查找系统账户
说明:系统每个用户信息保存在`/etc/passwd`文件中
切换用户
`su 用户名`
删除用户
`userdel -r 用户名`
c. 权限访问控制列表
d. 查看权限
ls -la 文件
ll 文件
e. 设置所有者
语法:chown [-R] user名:group名 文件名
参数:-R 如果是文件夹,需要使用这个参数,可以将文件夹及其内部所有文件的所有者和组全部修改
注意:命令权限需要root
## 修改文件所有者
chown 用户名 文件名
## 修改文件所属组
chown :组名 文件名
## 修改文件所有者和所属组
chown 用户名:组名 文件名
## 修改文件夹的所有者和所属组
chown [-R] 用户名:组名 文件夹