目录
快捷键
Tab 补全代码
Ctrl + e 光标移动到行尾 相当于【end】
Ctrl + a 光标移动到行首 相同于【home】
Ctrl + l 清屏,相当于执行clear命令
Ctrl + u 删除光标之前到行首的字符
Ctrl + k 删除光标之前到行尾的字符
(一)关机指令
showdown [-hcr]
关机或重启指令,并且能够指令多长时间之后关机。
showdown -h 立即关机
showdown -h hours:minutes 指定时间关机
showdown -r now 立即重启
showdown -c 取消预约重启或者关机
reboot 重启立即重启 相当于 showdown -r now
logout 登出系统
(二)系统指令
1.系统运行指令级别
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络
3:多用状态有网络服务
4:系统未使用保留给用户
5:图形化界面
6:重启
init 0 关机
init 6 重启
init 3 命令界面
init 5 图形化界面
2.man -指令名称 和 help 都是帮助指令
man -ls 查看ls的指令帮助
help ls 查看ls的指令帮助
3.cat 查看系统属性信息
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
4:其他系统属性信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
(三)文件目录
1.ls [-aAdfFhilnrRSt] 列出目录
-a: 列出所有目录包括隐藏目录等
-d: 列出目录本身,而不列出目录里的文件
-l: 列出文件的属性与权限
ls -l /home 列出home目录下的文件属性和权限
ls-al /home 列出home目录下的所有文件属性权限 包括隐藏目录
2. cd (绝对路径或者相对路径) 切换目录
cd /home 切换进home目录
cd ~ 回到自己家目录
cd .. 回到自己上级目录
cd demo/ 切换进当前目录下的demo目录
3.pwd 显示当前目录路径
4.mkdir [-mp] 目录名称 创建文件目录
-m:配置文件权限
-p:创建多级文件 不然你只能一个文件夹一个文件夹的创建
mkdir demo 创建一个demo文件
mkdir -p demo/bean/yiyezhiqiu 创建多级文件
5.rmdir [-p] 目录名称 删除文件文件
-p:连同上一级的空目录也删除
rmdir demo/bean/yiyezhiqiu 删除yiyezhiqiu这个空文件
rmdir -p demo/bean/yiyezhiqiu 删除yiyezhiqiu和上一级的空目录
细节: rmdir只能用来删除空目录 如果目录不为空会报 Directory not empty错误。如果你删除非空目录请使用rm指令来删除。
6.cp [-adfilprsu] 拷贝文件
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination
cp -i /demo /home/bean 将demo目录复制进bean目录下
7.rm [-fir] 文件目录 删除目录或者文件
-f:忽略不存在的文件 不会弹出警告
-i:删除时候会进行询问 (推荐使用 防止误删)
-r:递归删除 (切记小心使用)
rm -i demo 删除demo文件目录会提醒你
rm: remove regular file `demo'? y 回复 y或者yes就行
8 mv [-fiu] source destination 移动文件目录 或者 mv fileName newFileName 修改文件名称
-f:强制的意思 如果文件存在则直接覆盖
-i:如果文件存在 会提醒你是否需要
mv a.txt bean/ 移动a.txt进入bean目录
mv a.txt b.txt 修改啊a.txt名称为b.txt
9.touch 创建指定名称的空文件
touch /home/a.txt 在home目录下面创建一个a.txt空文件
10 >指令输出重定向 和 >>指令 追加
ls -l > a.txt 将列表信息写入a.txt覆盖写入其中
ls -l >>a.txt 将列表信息写入a.txt末尾
cat b.txt>>a.txt 将b.txt文件内容写入a.txt内容中
(四)文件内容查看
1. cat [-AbEnTv] 文件名称 从第一行开始显示文件内容
-b: 列出行号 不包括空白行
-E:将结尾的断字行号显示出来
-n:列出行号 包括空白行
cat /home/a.txt 列出home目录下的a.txt文件内容
2.tac 文件名称 从文件最后一行显示文本
tac /home/a.txt 从文件的最后一行开始读到第一行
3.more 一页一页的滚动读取 即分页读取
快捷键使用:
空格 代表向下翻页
enter 代表向下一行
/字符串 代表这个显示匹配关键字
:f 立即显示出文本行号
q 立即离开
b或者ctrl+b 代表往回翻页
4.less 分页读取
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序
5.head num 文件目录 取出文件前num行
head 5 /home/a.txt 取出a.txt中文本的内容前5行
6.tail num 文件目录 取出文件后num行
tail 5 /home/a.txt 取出a.txt中后5行
7.history num 查看历史使用过的num条记录
history 直接查看所有历史命令
history 5 查看历史最新使用的5条命令
(五)时间日期类
1.date 显示当前日期
date 显示当前时间 结果:2018年 08月 21日 星期二 11:16:13 CST
date +%Y 显示当前的年份
date +%m 显示当前的月份
date +%d 显示当前哪一天
date "+%Y-%m-%d %H:%M:%s" 根据格式显示时分秒
2.date -s 字符串日期 设置当前系统时间
date -s '2018-8-22 23:00:00' 按照字符串信息写入系统时间
3.cal year 查看year的日历
cal 2018
(六)文件搜索
1.find [范围] [-name user size]
find / -size +10M 搜索整个linux目录下大于10M的文件
find / -size -10M 搜索整个linux目录下小于10M的文件
find / -size 20M 搜索整个linux目录下等于20M的文件
find /home -name a.txt 查找文件名称在/home目录下的a.txt文件
find /opt -user nobody 按照拥有者 查找/opt目录下 用户名是nobody的文件
2.locate 搜索文件
locate指令可以快速定位文件路径,locate指令利用实现建立好的所有文件名称及路径locate数据库实现快速定位给定的文件。locate指令不用遍历整个文件系统,查询速度非常快,不过为了维护查询结果的精准,管理员必须定期更新locate时刻
说明:在使用locate时候如果是第一次使用 务必先updatedb指令来创建locate数据库
locate hello.txt 查询hello.txt文件
3.grep [-ni] 过滤查找 和 管道符号| 将前一个命令处理结果传递给后面的命令来处理
grep -n 显示匹配行及行号
grep -i忽略字母大小写
cat a.txt | grep '-n' hello 说明查询a.txt中的内容然后通过管道符把处理结果传递给grep指令来过滤查找出hello的所在行,并显示行号
cat a.txt | grep '-ni' hello 不区分大小写的过滤查询hello在a.txt中所在行 并显示行号
(七)压缩和解压类
1.gzip和gunzip指令用来压缩和解压文件
gzip压缩指令 通常用法:
gzip /home/hello.txt 压缩home目录下hello.txt文件会产生一个新的hello.txt.gz文件,并且原先的文件会被删除。
gunzip解压指令通常用法:
gunzip /home/hello.txt.gz 解压home目录下的hello.txt.gz压缩文件。
细节:gzip压缩文件会删除压缩的原文件。
2.zip和unzip指令压缩和解压文件
zip [-r] xxx.zip 范围 用来压缩一个文件成.zip结尾的格式
-r:递归压缩可以压缩整个目录
zip -r demo.zip /home/ 压缩整个home下的所有文件成一个demo.zip包 会在你操作的当前路径下产生一个demo.zip的文件
unzip -d /opt/tmp/ demo.zip 将demo.zip压缩文件解压至opt目录下的tmp目录中
3.tar [-cvfzx] xxx.tar.gz file1 file2 file3 指令
-c:产生。tar打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解压.tar文件
压缩操作:
tar -zcvf hello.tar.gz hello1.txt hello.txt 在当前目录下对hello1 hello.txt文件打包成hello.tar.gz的格式
tar -zcvf home.tar.gz /home/ 将整个home路径下的所有文件压缩成home.tar.gz的文件
解压操作:
tar -zxvf hello.tar.gz 解压hello.tar.gz文件到当前的路径
tar -zxvf hello.tar.gz -C /opt/ 解压hello.tar.gz压缩文件至opt目录下
细节:使用指定解压位置时候 要确保你填写的目录是真实存在的,否则就会报错。
(八)用户及用户组管理
1.useradd [-cdgGsu] 用户名 添加新用户
-c:指定一段注释的描述
-d:指定用户的主目录
-g:用户组 指定用户所属的用户组
-G:用户组 指定用户所属的附加组
-s:指定用户的登录shell
-u:指定用户的用户号
useradd user 可以直接在当前路径下面创建一个user的用户和文件夹
useradd -g it xm 可以直接在it用户组中添加一个xm 不过得确保it组是真实存在的
2.passwd 用户名 给指定用户添加密码
passwd user 按下回车你就能输入user这个用户的密码了
细节:修改密码的密码是密文形式的不会显示出来
3.userdel [-r] 用户名 删除一个用户
-r:把用户的主目录也一起删除
userdel user 删除当前路径下面的user用户
userdel -d user 删除当前路径下的user用户和user用户文件夹
4.id 用户名 查找用户信息
id user 可以查找user用户的所在组 、组Id 、用户ID等信息
细节:如果用户不存在则会提示无此用户。
5.su - 用户名 切换用户
su - xh 切换为xh账号登录
su - root 切换为root账户登录 需要输入密码
细节:高用户权限转低用户权限无需输入密码。 低用户权限转高用户权限需要输入密码确定登录。如果需要返回到上一个用户 直接输入exit指令即可
6.groupadd 组名 添加用户组
groupadd it 添加it这个用户组
7.groupdel 组名 删除用户组
groupdel it 删除It这个用户组
8.usermod -g 组名 用户名 修改用户组
usermod -g it xh 修改xh这个用户到it组中
(九)组管理和权限管理
1.chown 用户名 文件名 修改文件所有者
chown xh password.txt 修改password.txt文件的用户组成xh
2.usermod [-gd] 组名 用户名 改变用户所在组
usermod -g wudang xh 把it组的xh修改到wudang组中
3.权限的基本说明
-rwxrw-r-- 1 xh wudang 18 8月 18 09:39 ok.txt
-rwxrw-r-- 指的是权限
1如果是文件,表示硬链接的数字 如果是目录则表示改目录下的子目录数
xh 文件所属用户
wudang 文件所在用户组
18 文件的大小
8月 18 09:39 文件最后一次修改的时间
ok.txt 文件名称
-rwxrw-r-- 说明:
第0位代表文件的类型(d,-,l,c,b)
d代表目录
-代表文件
第1-3位代表所有者 ---User
第4-6位确定所属组权限 --Groip
第7-9位确定其他用户操作改文件的权限 ---Other
r读权限
x代表执行权限
w代表写权限
4:修改权限 chmod
第一种方式使用 + - = 来修改权限
chmod u=rwx,g=rx,o=x 文件目录名称 修改指定文件目录名称的权限
chmod o+w 文件目录名称 增加o即其他用户的w写入权限
chmod o-w 文件目录名称 删除o即其他用户的w写入权限
第二种方式 通过数字来修改权限
r=4,w=2,x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名称
相当于 chmod 751 文件目录名称
(十)磁盘分区和挂载
1.lsblk 查看当前系统的分区情况
lsblk -f 查看系统的分区和挂载情况
2.fdisk /dev/sdb 分区
开始对sdb进行分区
分区命令:
m 显示命令列表
p 显示磁盘分区
n 新增分区
d 删除分区
w 写入并退出
3.mkfs -t ext4 /dev/sdb1 格式化
4.df 查看系统磁盘整体使用情况
df -lh 可以查看整体磁盘的使用信息
5.du [-shamax-depth=1] /目录 查看指定目录的磁盘占用情况
-s 指定目录占用大小汇总
-h 带计量单位
-a 包含文件
--max-depth=1 子目录的深度
du -ach --max-depth=1 /opt 查询opt目录占用磁盘的具体情况 深度为1
6.磁盘情况命令
统计/home 文件夹下的文件个数
ls -l /home | grep '^-' | wc -l
统计/home 文件夹下目录的个数
ls -ls /home | grep '^d' | wc -l
统计/home文件夹文件个数,包括子文件
ls -lR /home | grep "^-" | wc -l
以树形式显示目录
yum install tree 安装tree指令
tree 安装好之后输入tree指令可以查看目录结构树