浏览目录:
ls -a | 显示隐藏文件(.开头) |
ls -l 或简写 ll | 显示文件详细属性 |
ls -R 推荐使用tree | 递归的列举当前目录下所有内容,tree更好用 |
ls -i | 查看inode 索引节点号 |
ls -lrt 或者-lt | 按照时间升序/降序 |
ls 文件 | 确定目录中是否有该文件 |
ls 目录 | 查看指定目录中的文件列表 |
拓展:ll|awk -F ' ' '{print $9}' 分割ls搜索结果,接合重定向符号>,可以将结果以一整列的方式保存在文件中
提到inode,不得不说软连接和硬链接。什么时inode,在linux中一个文件占用一个inode ,且inode是固定的。在创建硬链接时inode节点的链接数会发生变化
软连接和硬链接的区别:
软连接:命令 ln -s 目标文件 新链接名;可以对文件或者目录进行创建,源文件删除链接文件变成死文件,恢复文件可复活
硬链接:命令 ln 目标文件 新链接名;只能对文件进行链接,删除源文件对链接文件无影响,因为节点号inode的数量(链接数没变成0)。创建链接或删除链接会导致节点号inode的链接数发生变化,而inode用的同一个。
无论硬链接还是软链接,修改原文件数据都会导致其他链接下文件的数据被修改
查看文件当前路径
pwd:该命令没有任何选项和参数,执行结果显示绝对
查看进程执行目录
pwdx pid :通常结合ps -ef 或者top使用,查看特定进程或者占用资源多的进程是运行的哪个目录下的文件
文件/目录操作
mkdir 目录名 | 创建一个空目录 |
mkdir -p 目录1/目录2 | 递归创建 |
mkdir -m 权限码 目录名 | 创建一个权限为(权限码)的空目录 --- mkdir -m 777 test4 |
touch -t 时间 文件名 | 修改文件的时间戳为指定时间所需要的时间格式:[[CC]YY]MMDDhhmm[.SS],如201410112233.44 |
touch 已存在文件 | 不会被覆盖,之后修改最后更新时间 |
删除
rmdir: 删除文件夹/目录(注意: rmdir只能删除空目录)
删除空目录: rmdir + 目录/文件夹名(注意: rmdir只能删除空目录)
rm -r + 目录名 或者 rm -rf + 目录名 rm: 删除文件 rm + 文件名
移动
重命名/移动
mv 源文件名 目标文件名
拷贝文件
cp 文件名 目录名 --- 把文件拷贝到目录中 cp test1.c day2 --- 把test1.c拷贝到day2中
cp -r dir1 dir2 --- 将非空文件夹dir1拷贝到文件夹dir2中 man:查看帮助文档
查看文件内容
cat 文件名 | 查看文件所有内 |
head -n 12 文件名 | 查看文件前12行 |
head -c 12 文件名 | 查看文件前12个字节 |
less 文件名 | 比more牛,可以使用 [pageup] [pagedown] 等按 键的功能来前后翻看文件 |
more 文件名 | more会以一页一页的显示方便使用者逐页阅读,只能向后 |
tail -f 文件名 | 动态显示文件,常用于查看日志 |
tee——双向输出——输出到屏幕,同时写入到文件
ifconfig eth0|tee /root/desktop/eth.out ####文件不存在创建,文件存在覆盖原有内容
- a——append(追加),防止覆盖原来的内容
- 与>/>>不同的是,>/>>值只能写入,不能显示
- 不会保存错误信息,保存错误信息需要使用>,>>
查找 find
find path [-name -inum -type] 参数
查看设备使用情况
du -sh | 查看当前目录整体占用空间 |
du -sh * | 查看当前目录每个文件占用空间 |
df -h | 查看系统每个挂载设备的空间使用情况 |
free | 查看系统内存使用情况 |
top | 动态显示系统进程情况 |
ps -ef | 查看系统进程 |
查看系统信息
uname -a
解压和压缩
zip
压缩(-r递归)
zip xxx.zip xxx -r
解压(&&后面时将解压出来的文件进行重命名,因为不能确定解压出来的文件的名字)
unzip test1.zip && \mv `unzip -l test1.zip | awk '{if(NR == 4){ print $4}}'` html
tar.gz
压缩
tar -zcvf xxx.tar.gz xxx
解压(-C指定解压到的目录,--strip-components去掉一级目录结构)
tar -zxvf xxx.tar.gz -C xxx --strip-components=1
vim
命令模式下快捷键:
b:移动到当前单词开始
e:移动到当前单词结尾
w:移动到下一个单词
行首:0 行尾:$
文件头:gg 文件最后一行:G, 如果要到文件尾用G$
vi/vim复制剪切粘贴操作
[1] 按行复制/剪切命令
光标移动到文本文件的某一行,输入yy/dd,表示按行复制/剪切;
[2] 对光标位置到该行的结尾进行复制/剪切
命令y$/d$,表示从当前光标复制/剪切到当前光标结尾
[3] 多行复制命令
我们可以将光标移动到某行,我们输入命令nyy/ndd
[4] 粘贴操作
命令p/P表示粘贴,如果需要将复制的内容多次粘贴,则多次按p键就可以了。
[5] 错误撤销恢复
命令u表示撤销上一步操作,如果需要多次撤销,则多次按u键就可以了
如果我们上一次的撤销错了,取消撤销,可以按ctrl+r恢复
vim 其他快捷操作:
选取多行中某一列:ctrl+v(配合y和p进行复制和粘贴)
多行注释:ctrl + v 选中多行,按大写i回到选中的第一行并进入编辑模式,输入# 或者//,按两次esc,每一行都加上了
删除多行注释:ctrl + v 选中多行,按d,删除选中行的第一个值。如果按D则删除选中行。
多行前后移动:ctrl + v 选中多行,shift+>/<
选取整行:v (配合y和p进行复制和粘贴)
替换::%s/old/new/g %表示全文,g表示整行中所有匹配到的值
range块可以配合替换、复制、剪切使用,但是要在底行模式如处理2到5行 :2,5 s/old/new/g :2,5 d : 2,5 y
$ 在底行和命令模式下的区别
底行模式(:)的$表示最后一行,1表示第一行
命令模式下 的$表示行尾,0表示行首
底行模式
[1] 保存操作:
如果使用vim打开现有文件的话,可以使用命令
:w 直接保存到原始文件中
w 路径和文件名:即可以指定名称保存到指定路径。
wq 表示写入退出命令
q! 表示不保存退出命令
[2] 查找操作
/ <需要查找的字符> 向下查找
? <需要查找的字符> 向上查找
注意:如果文本中含有多个匹配字符,则可以按n来自动查找下一个匹配的字符,按N键就可以查找上一个
匹配的字符。这样就能对查找到的内容进行上下移动。
Vim指令——保存与退出
q:文件未修改,不保存退出
:q!:文件修改,不保存强制退出
:wq:文件修改,保存退出
:x:等价于:wq
:w:存盘
:w 文件名:存入文件名的文件中
:w! 文件名:强制存入文件名的文件中
批量修改文件名
rename "s/17/16/" * 将当前目录下所有文件名中的17换成16