一、linux系统结构
1. linux是倒树型结构,在linux系统中我们通常所说的目录类似于windows系统中的文件夹
2.linux中最大的目录是根目录“/”,根目录中的二级目录多为系统在安装过程中建立的
3.二级目录信息
/bin ##系统常规命令(删除后不可用,要重新下载)
/boot ##系统启动目录。存放开机所需文件,开机时载入开机管理程序,并映像到内存中
/dev ##设备影射文件(U盘)
/etc ##系统配置文件(改用户名,更改/etc/passwd文件)
/home ##普通用户家目录(一进系统默认位置)
/lib ##32位函数库(存放系统程序文件)
/lib64 ##64位函数库
/media ##光盘临时挂载
/mnt ##手动临时挂载(原目录东西会被遮盖)
/run ##自动临时挂载
/opt ##第三方软件安装位置
/proc ##系统进程信息和硬件信息
/root ##超级用户家目录
/sbin ##系统管理命令(useradd)
/srv ##系统数据
/sys ##内核相关调式
/tmp ##临时文件
/usr ##用户相关设定
/var ##系统数据
二、文件路径
1.显示当前工作目录命令 pwd
2.路径分为
绝对路径:文件所在系统的真实位置,在系统的任何位置都可以使用通常以"/"开头
相对路径:相对当前所在系统位置的一个文件名称的简写,他通常会自动添加"pwd"的值在名称前
3.常用路径命令
pwd ###显示当前工作目录
cd
.. 切换到当前目录的上一级
- 切换到上次存在目录
~ 切换到当前用户家目录
~ user 切换到指定用户加目录
~ + 当前目录
~ - 当前目录的上级目录
ls dir ##显示路径信息
ls -l file ##长列表显示文件属性
ls -l -d dir ##显示目录本身属性
ls -R dir ##递归显示目录中的所有内容
ls -a ##显示所有文件包括以"."开头的隐藏文件
ls -ad .* ##显示所有隐藏文件
4.举例
pwd ##print work directory 显示当前所在系统位置的路径为/root/Desktop
touch file1 ###用相对路径方式在/root/Desktop/中建立file1文件
touch /mnt/file ##用绝对路径的方式在/mnt/中建立file文件
三、文件管理
1.新建文件
touch file1 file2 file3 ### touch为新建文件,但同时有修改文件时间戳功能 stat命令可查看文件时间戳
2.新建目录
mkdir test mkdir -p test1/test2/test3
3.删除文件
rm -f file ### -f 是force的缩写,表示强制删除不提示
4.删除目录
rm -f -r 目录 ###-r 表示递归,表示目录本身和里面的所有内容
rm -fr 目录
5.复制 (重新建立的过程)
cp file dest ###复制单个文件
cp file file1 dir ###复制多个文件到指定目录
cp -r sourcedir1 sourcedir2 destdir ###复制多个目录到指定目录
6.移动
##相同磁盘文件为重命名
##不同磁盘文件为复制后再删除
mv file1 file2
mv file1 dir
mv file dir1
mv dir1/file . ### . 为当前目录 * 为所有目录
举例:
mv /root/mnt/* . 把/root/mnt/中的所有内容移动到当前所在系统位置
7.查看文件内容
cat file ##显示文件所有内容 q退出
cat -n file ##显示文件所有内容并在每行前加行号
cat -b file ##显示文件所有内容并在每行前加行号,但包括空白行
less file ##分页浏览
上/下 ##逐行查看
pgup/pgdn ##逐页查看
/关键字 ##n向下 N向上
head file ##显示文件前10行
head -n 3 file ##显示文件前3行
tail file ##显示文件后10行
tail -n 5 file ##显示文件后5行
8.编写文件
1)gedit file ###图形工具
ctrl+s 保存
ctrl+n 打开新的编辑界面
ctrl+o 打开新文件
2)vim file 进入浏览模式
按"i"键 进入插入模式开始编写字符,编写结束后按"ESC"键 退出插入模式,按":wq" 保存退出
若直接关vim,则实际关了shell,产生孤儿进程(受系统初始化进程管控)。
再打开一个shell,执行ls命令,发现产生影子文件,
vim file后 e表示恢复但无未保存部分(暂时)
r 表示恢复且有保存部分(暂时)
d完全恢复
9.文件统计
wc file
wc -l file ##行数
wc -w file ##字数
wc -m file ##字符数 每行后有一个换行符(W:\n\r,L:\n,U:\r)一个汉字占一个字符,三个字节
wc -c file ##字节数 1byte==8bit 1兆==1024byte 不统计换行符
五.文件批处理
* ##匹配0到任意字符
??? ##匹配n个问号的字符
"#" ##将#动词变为名词
[[:alpha:]] ##匹配单个字符 双中括号[[ ]]:是bash程序语言的关键字,并不是一个命令。
[[:lower:]] ##匹配单个小写字符
[[:upper:]] ##匹配单个大写字符
[[:digit:]] ##匹配单个数字
[[:alnum:]] ##数字和字母
[[:punct:]] ##匹配单个符号
[[:space:]] ##匹配单个空格
[[:space:][:punct:]] ##空格和符号
{ } ##精确匹配{1..5} 奇数{1,3,5}
[ ] ##模糊匹配[1-5]1,,3,4,5中随便一个
[145] ###1或者4或者5
[^a-c] | [!a-c] ###除了a并且除了b并且除了c
举例1:用一条命令建立1a 2a 3a 2a 2b 2c 3a 3b 3c 9个文件
举例2:建立文件7个不同文件用“”分开,逐步删除不同通配符的文件,匹配时需把非符号部分写出。
使用匹配通配符时必须用 [[::]]括起来, 如果是两个符号就需要用两个。“*”和“?”不需要括。
六.命令行技巧
1.<tab>
可自动补齐系统中存在文件或命令
当按tab补齐不了时,是因为以这个字符开头的内容不唯一
可按两次tab,用来显示所以以此开头的字符
若两次依然没有,则表示不存在
2.历史调用
history ##搜索历史
history -c ###清除当前环境历史
上|下 ##逐行翻阅历史
!数字 ##调用指定行数的历史
!字母 ##调用以此字母开头的最近一次命令
ctrl+R(关键字) ##调用含此关键字的最近一次命令