1.Linux目录结构
/为根目录,下面为枝干
boot:存放系统引导文件和内核文件
bin:存放可执行文件(二进制文件)(ls,cat,mkdir)
sbin:root用户执行命令
home:普通用户的家目录
root:root用户的家目录
dev:放置所有设备文件(外设) /dev/md* /dev/sd*
etc:放置所有配置文件(服务)
lib/lib64:动态链接库文件(共享库),类似于.dll文件
media:媒体库文件
opt:文件安装目录,安装软件就在opt目录下
mnt:挂载点目录 mount * *
var:存放一些需要改变数据的文件 日志,某些大文件的溢出区
proc:正常情况下为空,放的是内存的一个映射
usr:最大的目录,只要用到的目录或者文件都在这 /usr/sbin /usr/doclinx
tmp:共享文件夹,临时目录
lost+found:平时为空,只有系统在非关机时才会有,保存意外掉电中内存的数据
Linux中如何获得命令帮助
help(内部命令)cd,kill 56 eg:help cd
--help(适用于大多数外部命令查找) eg: ls --help
使用man手册进行命令查看(man,命令阅读手册)
man 命令字
上下键滚动文本,Page down &Page Up上下翻页
空格也支持翻页,回车键走一行
输入/,可以查找
info 也可以进行明林那个帮助查找
pinfo 命令名称 以浏览器的形式进行查看
/usr/share/doc 所有已安装软件的说明文件
firefox file://usr/share/doc
2.shell简介
Linux中严格区分大小写,一切皆文本
Linux精髓在于命令操作
OS=内核+各种应用软件
硬件--内核--链接库文件--shell--用户(Linux内核相当于汽车的发动机;链接库文件相当于汽车的方向盘,轴承,连杆;用户相当于司机
shell概念:shell是一种特殊的程序
作用 :是内核与用户的一种接口
shell命令解释器
shell一种解释型的语言(内部命令/外部命令)
内部命令:系统自带的,随系统内核一起启动(56)cd(改变路径)
外部命令:就是一些额外的软件或者程序 ls(列出文件或者目录)
sh (Borurne Shell) csh ksh
[root@localhost Desktop]#
root:代表当前登录用户
localhost:代表当前系统的主机名称
Desktop:代表当前所在的位置
#:代表当前登录用户是管理员用户
root:管理员 Administrator
$:代表当前登录用户为普通用户
eg:[flypig@localhost ~]$
[root@localhost ~]#su - flypig
su [-] username 切换当前登录
有-:代表切换bash,无-:代表不切换bash环境
由root用户到普通用户,不需要密码
由普通用户到root用户,需要密码
exit 退出用户环境
#查看系统当前主机名 hostname
[root@localhost ~]# hostname
localhost.localdomain
#修改主机名并生效
[root@localhost ~]# hostnamectl set-hostname dazhuao
[root@localhost ~]# su -
[root@dazhuao ~]#
#关机操作
poweroff
init 0
shutdown -h now
halt
#重启
reboot
shutdown -r now #现在重启
shutdown -r +15 #15min后重启
#查看当前系统时间
date
#查看当前系统日期
cal
cal 2020 #查看全年日历
cal 4 2020 #查看某年某月日历
#常用
CTRL+c 中断当前操作;
CTRL+L =clear 清屏;
'\' 换行;
CTRL + A 光标跳到行首
CTRL+E 光标跳到行尾
CTRL+U 清空光标所在位置前的所有内容
CTRL+K 清空光标所在位置后的所有内容
history 查看历史命令,默认保留1000行
!n 调用历史命令 eg:!22
history -c 清除历史命令
放大字体 CTRL+SHIFT+'+'
缩小字体 CTRL+'-'
准确的shell命令规范
命令字【选项】【参数】
选项:
作用:用于调节命令的具体功能
"-"引导短格式选项(单个字符)eg:"-l"
"--"引导长格式选项(多个字符)eg:"--color"
多个短格式可以写在一起 -a -l -z -x --> -alzx
参数 :
命令操作的对象,有文件,目录等
目录操作命令:
ls,cd,pwd,mkdir,rmdir
cd:切换命令目录 cd 目录位置 eg:cd /home/flypig
绝对路径:/home/flypig 相对路径:flypig/
cd . 当前目录
cd .. 返回到上一级目录
cd - 返回上一次所在的工作路径
cd ../../ 返回到上一级目录的上一级目录
cd ~ 返回到用户的家目录
pwd:查看当前所在的工作目录(告诉你自己在哪)
ls:列出当前目录下的文件或目录
格式:ls [选项][目录或文件名]
选项:-l 以长格式显示
-a 显示所有文件目录信息,包括隐藏文件
-d 显示目录本身的属性
-h 显示详细信息,变换了统计单位
--color 以颜色区分不同类型的文件
注:在linux中以.开头的文件是隐藏文件
ll=ls -l
cd . 表示当前文件
mkdir 创建一个新的目录
格式:mkdir[选项-p][路径]目录名
-p 递归创建多级目录
mkdir app
mkdir -p a/b/c/d/e/f
rmdir 删除一个空目录
rmdir app
文件操作命令:
touch,cp,mv,rm,find
touch 创建一个空文件,更新文件时间标记
格式:touch 文件名
eg:touch aa/a.txt
注:在Linux中,文件类型不以后缀名去区分
cp 复制文件或者目录
格式:cp [选项] 源文件/目录 目标文件/目录
-r 递归复制整个目录树
eg:cp /root/aa/a.txt /root/bb/ 相对路径
[root@dazhuao bb]cp ../aa/a.txt ./root/bb/ 绝对路径
cp aa bb/
rm 删除文件或目录
格式:rm [选项] 文件或目录
-r 递归删除整个目录树
-f 强制删除,无提示
eg:rm a.txt rm -rf aa
rm -rf / 从删库到跑路
mv 移动文件或目录
格式:mv [选项] 源文件/目录 目标文件/目录
注:若移动目标位置与源位置(当前下操作),则此操作相当于重命名(改名)
eg:mv b.txt /root/txt-2/
find 用于查找文件或目录
格式:find [查找范围][查找条件]
查找条件:-name 按文件名查找
-type 按文件类型查找
f 普通文件 d 目录 b 块设备 c 字符设备文件
-user 按文件属主查找(这个文件是谁的)
-size 按文件大小进行查找
-a 逻辑与
-0 逻辑或
!逻辑非
find / ! -name temp -type f 寻找不是命名为temp的普通文件
文件内容操作命令:
cat,less,head,tail,grep
cat 文件内容查看,显示出文件的全部内容
格式:cat filename
less (more) 全屏显示分页显示文件内容
格式:less/more filename
按回车键Enter逐行滚动,按空格键向下翻页,按b键向上翻页,按q退出
more用法与less一致,只是多了一个百分比显示
head (头部)显示文件头部若干行,默认十行
格式:head [选项] filename
head -n 5 ok.cfg 打印前5行
tail (尾部)显示文件尾部若干行,默认十行
格式:tail [选项] filename
tail -n +5 ok.cfg
注:注意符号的使用 + -代表意思不同
wc 统计文件内容,默认情况下统计结果为:行数 词数 字节数
格式:wc [选项] filename
选项:-w 统计字数 一个字被定义为由空格,跳格,换行以这些为分割字符串
-l 行数
-c 字节数
-m 字符数 -m -c不能一起使用
-L 打印最长行的长度
man wc
wc --help
wc --version
eg:wc -l -c -w -L 1.txt
grep 在文件中查找并显示包含指定字符串的行
格式:grep [选项] 查找条件 目标文件
选项: -c 显示匹配行的数量
-i 查找时不区分大小写
-V 反转查找 (不包含指定字符)
eg:grep -i "agent" 1.txt
查找条件设置:
1.查找条件用引号引起来
2."^………………"表示以什么什么开头
3."………………$"表示以什么什么结尾
eg: grep "ation$" 1.txt 以 ation结尾的
4."^$"匹配空行
归档以及压缩命令:
tar
tar 压缩与解压缩 制作归档文件和释放归档文件
格式:
制作归档文件:
tar [选项] [目录]/归档文件名 源文件或者目录
释放归档文件:
tar [选项] 归档文件 [-C 目标文件]
补充:.gz格式和.bz2格式,后者压缩率高
命令:
压缩:
tar -czvf [存放路径]归档文件名.tar.gz 源文件或者目录
eg:tar -czvf /root/text.tar.gz text-1 text-2
tar -cjvf [存放路径]归档文件名.tar.bz2 源文件或者目录
eg:tar -cjvf text.tar.bz2 text
-c 压缩 -z 压缩为.gz格式 -vf 显示详细信息
解压缩:
tar -xzvf [存放路径]归档文件名.tar.gz [-C 解压目录]
eg:tar -xzvf text.tar.gz 解压到当前路径
tar -xzvf text.tar.gz -C text-1/
tar -xjvf [存放路径]归档文件名.tar.bz2 [-C 解压目录]
-x 解压
补充:
alias 别名:为使用频率较高的命令设置简短的调用名称
查看当前用户的所有别名
alias [别名]
设置别名
alias 别名="实际执行的命令"
取消别名
unalias 别名
unalias -a 取消所有别名
让别名永久生效
将别名设置在~/.bashrc文件中
ln -->link 链接
链接分为两种:
软连接 ln -s 源文件 目标文件
就像一个快捷方式 eg:ln -s a.txt a.txt.soft
硬连接 ln 源文件 目标文件
相当于 cp -p +同步更新
eg:ln a.txt a.txt.hard
修改a.txt后,a.txt.hard同样修改