Linux学习之路
1、文件管理命令
touch命令用于新建文件;修改文件的时间戳。
touch y1t y2t //新建文件y1t与y2t
touch y1t //修改文件y1t的时间为当前时间
touch -t YYYYMMDDHHmm y1t //修改文件y1t的时间为YYYY年MM月DD日HH时mm分
mkdir命令用于新建目录
mkdir dir1 dir2 //新建目录dir1与dir2
mkdir -p dir1/dir2 //新建多级目录
rm命令删除文件或者目录
rm y1t y2t //删除文件y1t y2t有询问
rm -f y1t //删除文件y1t且不询问
rm -r dir1 dir2 //删除目录dir1与dir2
rm -rf dir1 dir2 //删除目录且不提示
gedit打开文件编辑(图形)
gedit y1t y2t //如果y1t与y2t不存在则新建文件并编辑
vim文本编辑器
vim westosfile1 /如果westosfile1不存在则新建文件并编辑
首先进入vim的浏览模式,此时不能输入。
按住i键,进入插入模式,可输入文本。但只能使用上下左右键移动光标。
输入完毕,点击ESC,退出输入模式。再输入:wq回车即可保存。
:q回车是当未作修改时直接退出。
/:q!回车是强制退出,不能保存修改的内容。
当vim文本编辑器对修改的内容未作保存,异常退出,再次进入vim编辑器,会报错
-[O]: 只读模式打开文件
-[E]: 继续编辑文件
-[R]: 恢复未保存的文件继续编辑
-[D]: 删除.swp文件进入编辑
-[Q]: 退出当前文件编辑
-[A]: 退出vim程序
vim文本编辑器同时打开多个文件
vim -o y1t y2t
//上下窗口打开两个文件,使用ctrl+w+上键/下键进行切换
//退出时,当前在哪个文件就退出哪个文件
vim -p y1t y2t
//左右窗口打开两个文件,
//使用:tab+n回车进入下一个窗口,使用:tab+p回车进入上一个窗口
//退出时,当前在哪个文件就退出哪个文件
cat命令查看文件内容
cat y1t //显示文件y1t 的内容
cat -b y1t //显示文件y1t 的内容,不显示空行的行号
cat -n y1t //显示文件y1t 的内容,并显示所有行包括空行的行号
head命令查看文件前多少行
head westosfile1 //显示文件westosfile1的前10行内容
head -n westosfile1 //显示文件westosfile1的前n行内容
tail westosfile1 //显示文件westosfile1的后10行内容
tail -n westosfile1 //显示文件westosfile1的后n行内容
less用于分页浏览文件
less y1t //分页显示文件y1t内容
//在less模式中上键或者下键逐行查看文件内容
//使用pgup或者pgdn按键逐页查看文件内容
//输入/ 关键字可以搜索关键字,使用n键向下匹配,使用N向上匹配
//按v可以进入vim文本编辑模式,按i进入输入模式,编辑完成输入:wq回车即可退出vim返回到less模式
//输入q键即可退出less模式
cp用于复制文件
cp y1t y2t //将原文件y1t复制到目标文件y2t
cp y1t y2t dir1 //将原文件y1t与y2t复制到文件夹dir1
cp -r dir1 dir2 //将原文件夹dir1复制到目标文件夹dir2
mv命令用于移动文件
mv y1t y2t dir //将文件y1t与y2t移动到目录dir
mv dir1 dir2 dir //将目录dir1与dir2移动到目录dir
mv y1t y2t //若文件y2t不存在,这相当于对文件y1t重命名
file命令用于查看文件类型
file y1t //查看文件y1t的具体类型
wc命令用于统计文件容量
wc -l y1t //统计文件y1t 的行数
wc -m y1t //统计文件y1t 的字符数
wc -w y1t //统计文件y1t 的单词数
wc -c y1t //统计文件y1t 的字节数
2.Linux中的文件寻址
- FHS(Filesystem Hierarchy Standard)Linux层级结构标准3
- Linux中一切都是文件
- / 表示Linux系统根目录 千万不要运行rm -fr /*
系统二级目录
目录 | 功能 |
---|---|
/bin | 系统常规命令 |
/sbin | 系统管理命令; 一般超级用户才能执行 |
/dev | 设备文件; 包含了所有Linux系统中使用的外部设备 |
/home | 普通用户(家目录)集合,此目录的子目录为普通用户家目录; 比如用户user的家目录就是/home/user |
/root | 超级用户家目录 |
/lib64 | 64位函数库 |
/lib | 常规函数库 |
/proc | 进程(程序运行的状态)信息,系统识别的硬件信息. 通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置 |
/run | 当前运行的硬件和系统模块,当前运行进程相关的资源 |
/src | 系统数据常量,数据目录 |
/var | 系统数据变量 |
/tmp | 系统临时文件存放目录 |
/mnt | 临时设备挂载点 |
/media | cdrom临时挂载点(临时设备(U盘)挂载点) |
/etc | 系统大多数程序的配置目录 |
/opt | 第三方软件安装位置 |
/boot | 系统启动分区,系统启动时读取的文件都在此目录 |
/sys | 关于内核设定目录,和内核优化相关的参数和优化策略存放的位置 |
/usr | unix system resource 仅次于/重要 多数系统资源都在此目录中 unix system resource |
相对路径是绝对路径名称的简写,省略了用户当前所在的系统位置.(此名称只有在管理当前所在系统目录中子文件时才能使用.系统中不以 / 开头的文件名称都为相对路径, 在程序操作时会自动识别当前路径的信息并关联操作目标)
绝对路径是文件在系统中的真实位置,在任何场景下都可以使用. 通常以 / 开头,不会考虑当前系统位置
3.关于文件寻址的命令
pwd //显示当前的工作目录
cd - //显示进入该目录之前的目录
cd ~- //显示进入该目录之前的目录
cd .. //显示当前目录的上一级目录
ls //显示当前目录中子目录和子文件的名称
ls file //显示指定文件的名称
ls dir //显示指定目录中内容的名称
ls -d dir //显示目录本身的名称
ls -l file //显示文件属性
ls -l dir //显示目录中内容的属性
ls -ld dir //显示目录本身属性
ls -a dir //显示目录中所有文件名称包括隐藏文件名
ls -s //显示文件大小
ls -R dir //递归显示目录中的内容
文件批量处理
字符集合 | 说明 |
---|---|
* | 匹配0~任意字符 |
? | 匹配单个字符 |
[[:alpha:]] | 匹配单个字母 |
[[:lower:]] | 匹配单个小写字母 |
[[:upper:]] | 匹配单个大写字母 |
[[:digit:]] | 匹配单个数字 |
[[:alnum:]] | 匹配单个数字或字母 |
[[:punct:]] | 匹配单个符号 |
[[:space:]] | 匹配单个空格 |
字符集和表示方法
[ ] 表示条件是或者关系是模糊匹配,对象和几个对比匹配就操作几个,比如[1-3]表示1到3 ; [!d-f] | [ ^ d-f]表示除了d-f之外;比如命令"cp file[1-3] dir1"如果文件file1和文件file3存在,但是不存在 file2,则该命令执行完就是将file1和文件file3复制到目录dir1中。
{ } 点名机制,经精确指定集合中的每一个元素
比如{1…3}表示1,2,3 ;{a…c}表示a,b,c;比如命令"touch file{1…3}";表示新建文件file1,file2,file3。
其他指令
~ //默认代表当前用户的家目录
~username //指定用户username的家目录
~+ //当前目录
. //当前目录
~- //当前目录之前所在的目录
.. //当前目录的上级目录