超级管理员的家目录是/root/亦称根目录一切目录从根出发
‘#’普通用户的家目录/home/普通用户名
‘#’家目录等同于windows系统里面c:Users用户名
‘#’表示管理员用户正在输入
‘$’普通用户
suroot#切换到root用户
sudo#以root身分执行命令
命令出错的情况
注意不要拼写错误
空格该有的不能少没有的不能加
严格分辨大小写
假如命令提示找不到这么可能没有安装
yum-yinstall安装软件的名子#-y不提示直接安装
yum-yinstall软件1软件2软件3#空格隔开linux退出root用户
常用的快捷键常用的历史命令
whoami # 查看当前登录用户名
pwd # 显示当前位于哪个文件夹
ls # 列出所在文件夹下的子文件夹和子文件
cd /root # 切换到根目录下的root目录
[None@localhost tmp]$ # 当前位于tmp文件夹下面
init 6 | reboot # 重启
init 0 | poweroff | halt # 关机
shutdown -h now # 立马关机
cat /etc/redhat-release # 查看当前系统的版本
cat /proc/version # 查看linux版本
目录的操作
linux一切都是从根目录出发/
yum -y install tree
# tree -L n 展示n级目录
[root@localhost /]# tree -L 1
.
├── bin -> usr/bin
├── boot
├── dev
├── etc # 主要的配置文件
├── home # 普通用户的家目录
├── lib -> usr/lib # 等同于windows下面的system32
├── lib64 -> usr/lib64 # 64位操作系统 动态链接库
├── media

├── mnt # 用户手动挂载的目录
├── opt
├── proc
├── root #超级管理员用户的家目录
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp # 用来存放临时文件
├── usr # 用户安装软件存放的目录 等同于windows系统的program files
└── var # 日志 数据库文件都放到这里
除了tmp文件夹下面的 其他的文件夹删除一定要慎重!
.开头的文件是隐藏文件
帮助
任意命令 --help # 比如 ls --help
man 任意命令 # q退出 空格翻页 回车换行 上箭头往上翻
info 任意命令 # 帮助信息比man更丰富
ls
ls -a # 列出所有的文件 包含.开头的隐藏文件和文件夹
ls -l # 以列表的方式展示
ls -al # 以列表的方式展示所有的文件 等同于windows中以详细信息的方式展示目录下的所有文件
ll -a # 等同于 ls -al
lrwxrwxrwx. 1 root root 4 5月 19 23:17 haha -> /tmp
-rw-r--r--. 1 root root 129 12月 29 2013 .tcshrc
-rw-------. 1 root root 67 5月 19 22:43 .xauthMpWjiB
第一部分 l # d 目录 | - 普通文件 | l 链接 等同于windows系统的快捷方式 | b c 设备 硬盘 光驱等
第二部分 rwx rwx rwx 权限 # r:read 读 | w:write 写 | x:execute 执行 | - 没权限
所有者 所属组 其他人
第三部分 1 # 文件链接数量
第四部分 root # 所有者
第五部分 root # 所属组
第六部分 4 # 文件大小
第七部分 5月 19 23:17 # 文件的修改时间 上一次的修改时间
第八部分 haha -> /tmp # 文件的名字
绝对路径
从根出发/root这些就是绝对路径
以当前的目录为参照物相对于当前目录而言
相对路径pwd
拿来查看当前坐落那个目录下
创建目录
目录就是文件夹文件夹就是目录
mkdir 目录名字 # 支持批量创建
mkdir 目录1 目录2 目录3 # 空格隔开
mkdir -p a1/a2/a3/a4/a5 # 递归创建5个文件夹
mkdir -p a/{b,c}/{d,e,f}
├── a
│ ├── b
│ │ ├── d
│ │ ├── e
│ │ └── f
│ └── c
│ ├── d
│ ├── e
│ └── f
删掉目录
rmdir 目录名 # 目录必须空
rmdir -p a1/a2/a3/a4/a5 # 目录必须空 递归删除
# 如果目录非空 可以采用 rm -rf 目录名 | -f 强制 | -r 递归
rm -rf /* # 强制删除根目录下的所有 慎用!
管线符
后面的输出作为前面的输入
文件的操作
touch 文件名 # linux不区分后缀名 windows系统区分
touch 文件1 文件2 文件3 # 支持批量创建文件 空格隔开
echo '内容' > 文件名 # 也可以创建一个新文件 并写入内容 下一个内容会替换上一个
echo '内容' >> 文件名 # 将内容追加到该文件中
cat 文件 # 查看文件的内容 内容是从上往下输出
# > 替换 | >> 追加
cat 文件1 文件2 > 文件3
tac 文件 # 从下往上输出
head -n 文件 # 从上到下显示文件的前n行

tail -n 文件 # 从上到下显示文件的后n行
tail -f 文件 # 动态监视文件的后几行内容 只能接受通过 '内容' >> 文件 这种追加过来
watch # 实时显示整个文件的内容
watch -d -n 秒数 cat 文件名 # -d 变化的部分高亮显示 | -n 指定多少秒刷新一次
more 文件名 # 按页展示 空格键翻页 | 回车换行 | 不支持前翻 | Q 退出
less 文件名 # 按页展示
find [路径] [参数] 文件名
find -name 按照文件名查找 # find / -name 11*
find -iname 按照文件名查找 # 跟上面区别在于iname不区分名字大小写
find -mtime +/- n # + 超过 | - 以内 | n 表示天
find -user # 根据所属用户查找 find / -user None --> 查找根目录下所属用户是None的
find -size +/- c k M G # c:字节 k:kb M:mb G:gb
find -maxdepth # 根据目录的深度查找
查找命令linux格式化硬盘
which 命令 # which python
whereis 命令 # whereis python
如何安装LINUX
grep
linux的正则表达式
[root@localhost ~]# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
grep '马' 10.csv
-i 忽略大小写 | -c 只显示匹配行的数量 | -r 递归查找子目录 | -n 显示行号
-w 只匹配单词 不匹配单词的一部分 | -E 正则表达式搜索
--color 单独的颜色 | --include '*.py' 仅仅搜索 .py 文件 | --exclude '*.py' 排除 .py 文件
wc
[root@localhost ~]# cat /etc/passwd | grep -E '^r' | wc -l # 查看行数
5
awk
一行行的读取文件默认以空格为分隔符对切开的部份进行处理
awk -F ':' '{print $3, $4}' /etc/passwd
awk -F ':' '{sum += $3};END {print sum}' /etc/passwd
# 根据:进行切割 然后拿到第三列 求第三列的和
uniq
独一无二
通常是配合sort来用
-c 每行前面显示出现的次数 编号
-d 只输出重复的行
-D 输出重复的所有行
-i 忽略大小写
sortlinux退出root用户
也是以行为单位
cat /etc/passwd | sort -r # 默认按照字母进行排序
cat /etc/passwd | sort -k 3 -t ':' -n # t指定':'分割 第三列进行排序 -n 指定按照数值排序
列举你常使用的10条历史命令
history | awk '{print $2}' | sort | uniq -c | sort -nr | head -10
用户管理
useradd 用户名 # 添加用户之后 会在/etc/passwd添加一条记录 并且/home下也会创建一个以用户名为命名的文件夹
root:x:0:0:root:/root:/bin/bash
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
第一部分 用户名
第二部分 密码 # 存在于/etc/shadow
第三部分 用户ID
第四部分 所属组ID
第五部分 备注信息
第六部分 用户的家目录
第七部分 /bin/bash /sbin/nologin
只要你是bin/bash 可以通过 su 用户名的方式登录 表示不能通过 su 用户名的方式登录
userdel 用户名 # 默认只删除数据库中的记录 不删除家目录
userdel -r 用户名 # 删除用户家目录
passwd 用户名 # 修改密码 会有提示密码过于简单 不用管继续输入
passwd root # 管理员才可以修改管理员
sudo组 比普通用户权限大 比超级管理员权限小
usermod -a -G sudo 用户名 # 将用户添加到sudo组
# -a 是add添加的意思 | -G 附属组
权限的操作
rwxr--r--
r read 读 | w write 写 | x execute 执行 | - 没有权限

rwx 所有者 | r-- 所属组 | r-- 其他用户
rwx 111 | r 100 4 | w 010 2 | x 001 1 | - 000 0
chmod 权限 文件或目录
u 拥有者 | g 所属组 | o 其他用户 | a 所有人 = u + g + o
+ 在原来基础上增加 | - 在原来基础上减少 也可以对权限重新赋值
chmod o+x,g+w,u+x 文件或者目录 # 拥有者增加执行的权限 所属组增加写入的权限 其他用户增加执行的权限
chmod a-x 文件或目录 # 所有人减去执行的权限
chmod a=rwx a.txt
# 755 rwx r-x r-x 新建一个文件夹 默认的权限
chmod 777 a.txt
chmod -R 权限 目录 # 目录及子目录 子文件都跟着改
修改文件或目录的拥有者
chown 用户名 文件名或目录名 # 更改文件或目录的拥有者
chown -R 用户名 文件名或目录名 # 递归修改
chown 用户名:组名 文件名或目录名 # 修改所属用户和所属组
chattr
当一个文件 如果只能往里写 可以读 但是不能修改权限 不能删除的时候 这个文件需要申请保护
+ -
i 给文件增加或去除只读属性 | a 只能追加数据 不能修改和删除
只能对文件进行保护
chattr +i 文件 # 这个文件只能读 不能写 不能删除 不能修改权限 想删除 修改权限 只能chattr -i
chattr +a 文件 # 只能 echo >> 追加的方式写入内容 不能编辑 不能删除 不能修改权限
chattr -a 文件 # 取消对文件的保护
vi/vim编辑器
vim是vi的升级版
vim test.txt 命令模式 ---iao---> 编辑模式 ---esc---> 命令模式
命令模式 ---/?:---> 底部命令模式
!v # 打开最近使用vim打开的文件
vim test.txt +n # 将光标定位到第n行
vim test.txt + # 将光标定位到最后一行