Linux的常见指令
发表于 2017-07-05 | 分类于 Linux
LINUX
之前学校从外面请了一个Linux的培训师给我们上了几天课,也就是教了一些简单Linux命令.我就把这些东西整理了一下。培训教师:于天泽
网上一些好的网站:
linux公社 Linux中国 51cto
Linux最大的特点
1.开源 2.稳定性 3.安全性 4.高可用性
文件系统树
根目录 / linux中所有文件目录的最高级目录
bin 用于存放命令文件
sbin 用于存放系统级命令
boot 用于存放系统的引导文件和系统的内核文件
dev 用于存放硬件设备文件
etc 用于存放配置文件
home 家目录,用于存放普通用户的个人文件,类似于windows中的我的文档
root root用户的家目录
lib 运行库文件
lib64 系统运行的运行库文件
media 用于自动加载外接硬件设备
mnt 用于手动加载硬件设备,网络设备
opt 用于存放第三方软件
usr 用于存放第一方软件
proc 用于存放软件进程
sys 用于存放系统进程
run 用于存放进程运行时的一些信息,例如pid
var 用于系统经常性变动的文件,例如日志,用于(自动)存放服务的素材文件
srv 用于(手动)存放服务的素材文件
tmp 用于存放临时文件
命令行前缀
用户名
[root@server Desktop]#
用户名,指的是当前用哪个用户来终端操作这个终端
主机名
查看主机名
hostname
修改主机名
cd——路径
当前所在路径
pwd
cd——切换目录
cd 路径
路径的两种表达方式
绝对路径 从根目录开始一个完整的路径,一个绝对不会出错的路径,特点是从根目录开始写
相对路径 指的是相对于当前所在路径成立的路径
ls——列出目录中的内容
ls [选项] [路径]
直接使用ls表示查看当前路径下的内容
ls 路径 表示查看对应路径下的内容
常用选项
-l 显示内容的一些详细信息,诸如权限,所属人等
-h 与-l连用,将-l显示的大小转换为一个易于识别的大小(即带单位K M G等)
-d 与-l连用,表示查看目录本身的属性
-a 表示显示目标下的所有文件和目录,包括隐藏的(以.开头)
ls -l = ll
查看文件中的内容
cat
表示将文件的内容在终端中打印一遍,缺点:在纯命令行中可能无法显示完整的文件内容
tac
倒序将文件内容在终端的打印
less(linux下最强大的文本查看工具)
进入文件查看文件内容,使用方向键翻看,使用空格向下翻一页一页,指的是屏幕显示的最大行数为一页)
使用回车向下翻一行等操作可以来回翻看文件,q退出
more
进入文件查看文件内容,使用回车下翻一行,空格下翻一页(一页,指的是屏幕显示的最大行数为一页)
不可以向上翻页,查看完毕后,会执行类似于cat的操作将文本在屏幕上打印一遍,并自动退出more
head
将文本的前10行在屏幕上打印
tail
将文本的最后10行在屏幕上打印
tail -f 文件路径 表示实时监控文件,最常用在监控日志上
增 删 改 查
增加
创建文件
touch 路径
创建目录
mkdir [选项] 路径
常用选项
-p 表示如果输入的路径中,有多个不存在的目录,那么一并创建
复制cp
cp [选项] 源路径 目录路径
-r 表示递归,用于复制目录时使用
移动mv
mv 源路径 目录路径
重命名mv
mv 旧名字 新名字
删除rm
rm [选项] 目录路径
常用选项
-r 表示递归,用于删除目录时使用
-f 表示强制,即不是提示直接删除
历史记录
history
!编号 表示再次执行该历史记录
tab补齐操作
常用于对命令或者路径等的自动补齐
该功能由软件包bash-completion提供
alt
调用上一个命令最后一个空格后的内容,无论这个内容是什么。
用户和用户组
- 用户是系统在执行操作是的一个身份象征
三大类用户
uid=0 超级管理员用户
uid小于等于999 系统用户 无法正常登录系统
uid大于等于1000 普通用户
记录用户信息的文件
/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:x:uid:gid:备注:用户的家目录路径:用户登录的shell
/sbin/nologin
1970.01.01
/etc/shadow
adminuser: 6 <script type="math/tex" id="MathJax-Element-1">6</script>XojkshsMs01N2koq$6sDCOiA4YWEuMJftfiHl82NKKZPLmZQgSmvz6s9GEhn7JEKVhPD/gtfofitILETNy.V5I88QSdyb3oDR6/KY1.:17087:0:99999:7:::
用户名:密码:上一次修改密码的时间:两次密码修改最小间隔时间:密码过期时间:密码过期前提醒时间:密码过期后的保留时间:用户过期时间:保留位
用户的创建
useradd [选项] 用户名
选项
-u uid 设定用户的uid
-g gid/组名 设定用户的首选组(这个组必须存在)
-G gid/组名 设定用户的从属组(这个组必须存在)
-c 备注 设定用户的备注
-d 路径 设定用户的家目录
-s shell 设定用户的shell
设置密码
passwd [用户名]
1.超级管理员用户(uid=0)可以修改任何用户的密码,并且不需要原始密码,而且可以不满足密码的位数要求(8位)
2.普通用户(uid>=1000)只能修改自己的密码,且修改密码时需要原始密码,并且必须满足密码的位数要求(8位)
3.直接使用passwd命令,后面不接用户名,表示修改当前用户的密码
修改用户命令
usermod 选项 用户名
-u uid 修改用户的uid
g gid/组名 修改用户的首选组(这个组必须存在)
-G gid/组名 替换用户的从属组(这个组必须存在)
-G gid/组名 -a 将用户加入到一个从属组(这个组必须存在)
-c 备注 修改用户的备注
-d 路径 修改用户的家目录
-s shell 修改用户的shell
删除用户
userdel [选项] 用户名
-r 表示删除用户时将其家目录和邮件文件一并删除
用户组
将一系列用户加入到同一个组,那么对这个组的权限设定就行当于对组内的用户进行设定
1.首选组/主组
指的是用户的默认属组,在/etc/passwd中gid对应的组,主要作用是用户在执行操作时,组的身份会被判断为这组2.从属组/副组/附属组
指用户除了首选组以外,还可以额外加入到其他小组中,加入小组之后,这个用户就获得了这个组对于可以完成事情
/etc/group
创建组
groupadd [选项] 组名
-g gid 设定组的组编号
修改组
groupmod [选项] 组名
-g gid 修改组的组编号
删除组
groupdel 组名
- 注意:删除组时,组内务必没有任何用户
linux下的权限管理
rwx的含义
r 表示读权限
w 表示写权限
x 表示执行权限
- 表示无该权限
文件的rwx
r 文件的读,表示可以看到文件中的内容,即可以对文件执行类似于cat的命令
w 文件的写,表示可以对文件中的内容进行任意修改,即可以对文件使用vim命令并且能保存
x 文件的执行,如果文件是脚本或者语言程序文件,需要对其有执行权,其才运行这个文件。
目录的rwx
r 目录的读,表示可有读取目录中的文件列表,即可以对目录执行ls命令
w 目录的写,表示可以向目录中存放文件等操作
x 目录的执行,表示可以进入到该目录,即cd
修改权限
chmod 公式法
chmod 公式 路径
公式格式
who howw hat
u + r
g - w
o x
a = rwx-
chmod 数字法
r 4
w 2
x 1
chmod 三位数字之和 路径
调整归属
chown 用户名[:组名] 路径
调整属组
chgrp 组名 路径
控制列表
主要用于对单个用户或者用户组进行权限的设定
查看访问控制列表
getfacl 路径
设置访问控制列表
setfacl -m user:用户名:权限(rwx-) 路径 group:组名:权限 mask::权限 mask 掩码值 即最大权限 注意mask值要求最后设定
删除访问控制列表
setfacl -x user:用户名 路径 group:组名
清空访问控制列表
setfacl -b 路径
特殊权限:suid sgid sbit
chattr lsattr