Linux云架构之基础操作命令2

    科技2025-09-17  37

    压缩 gzip file 结果: file.gz bzip file2 结果: file.bz2 zip (需要安装如见) 这样都是针对单个问价压缩

    解压:要对应文件后缀名使用命令

    gunzip file.gz 结果 file bunzip2 file.bz2 结果 file

    归档 :把文件打包 并 压缩 tar cvf 名字 要打包的文件(s)

    tar cvfz 把文件打包然后给压缩 结果 名字.gz tar cvfj 结果 名字.bz2

    解档 tar xvf 拆包文件 tar xvfz 拆包 并解压gz结尾的文件 tar xvfj 拆包 并解压.bz2结尾的文件

    注意: 压缩 解压 解档 归档 完成 源文件都是还在的 就和windows x下压缩情况是一样的

    ln 创建连接文档

    软链接 (快捷方式 修改源文件 新的文件也会更新) ln -s 源文件 x新名字 硬链接(复制 修改源文件 新的文件不受影响) ln 源文件 新名字 目录不允许有硬链接

    修改用户权限 方法一: chmod 777 文件名(s) 第一个7是自己 第二个7是团队的人 第三个7是其他人 7的来源的二进制111=4+2+1 777是所有用户都是rwx 读写执行 方法二: chmod u=rw,g=r,o=rwx 文件名(s) =的左边是身份 u是自己 g 是团队的人 o是其他人 =的右边的权限 =也可以替换为+ 或者 - 意思是 增加或者删减对应身份人的权限

    cat more less 区别打印文件的信息 cat a 打印文件的信息 容易刷屏 more a 打印文件的信息 先展示第一页 空格下一页 可以用滚动条 展示完了自动退出,最后一行会显示出目前显示的百分比,而且还可以在最后一行输 入一些有用的命令 less 打印文件的信息 不能用滚动条 可以使用上下键 q退出

    重定向 ’>‘ cat a > c 把a打印的结果写到c里(a的结果覆盖c本来的内容) cat a >> c 把a打印的结果放在c文件的结尾里

    元字符

    *所有

    ?单字符

    [ ] 匹配到指定范围的单个字符 ls [abcd] * [ABCD] 查找以abcd开头以ABCD结尾的文件

    ; 一行可以输入多个命令 cat a; ls -l

    | 将“|”前面的命令的输出 作为 “|”后一个命令的输入 ls | cat | more 可以翻页式 的看 当前的所有文件

    tail head 查看文件的10行 head 头十行 head -n n=2 看前两行 tail 后十行 tail -n n=2 看后两行

    - vi编辑

    vi 名字 打开或新建文件 vi 打开新文件,修改完文件后再保存

    以下操作的前提是在命令模式(esc键):

    vi中光标位置变换

    (键盘的上下左右也可以) 上 k 下 j 左 h 右 L(小写)

    插入

    i 在光标所在字符前插入 I(大写的i) 在光标所在行行首插入 a 在光标所在位置后插入 A 在光标所在行行末插入 o 在光标所在行下插入一空行 O 在光标所在行上插入一空行 退出插入状态

    删除文本

    x 删除一个字符 dw 删除当前词 (判断依据:空格或者字符) dd 删除当前行 5dd 删除光标所在后5行= :5,10d(命令模式)

    替换文本

    r 一个字符 cw 一个单词 cc 一行 C 光标至行尾

    复制粘贴

    yw 拷贝词 yy 拷贝行(或Y) p 当前行下粘贴 :1,2co3 拷贝行1,行2在行3之后 :4,5m6 移动行4,行5在行6之

    保存

    :w :w 名字

    退出 :q 退出不保存 :q! 强行退出 不保存 :wq 保存并退出

    shift+~ 改变大小写 J 把当前行和下一行连起来 u 废除刚才的编辑操作(=ctrl+z) :set nu 显示行代码 :21 光标停在指定行( 21G) G 到文件尾,1G 到文件头) /串 从当前行往下查找 ?串 从当前行往上查找 n 查找下一个 N 查找上一个 :r file2 在光标所在位置插入另一个文件 :1,$s/旧串/新串/g 从第一行到结束,替换全文 :%s/旧串/新串/g 替换全文

    分屏(打开的文件都是实时更新的)

    :sp 横着 :vs 竖着 :close 关闭窗口(光标所在的窗口) ctrl+w 在不同的分屏中切换光标 :open 目录 在当前分屏中打开指定文件或者目录(分屏状态下)

    find 根据条件找到一个文件然后执行一条命令

    find / -name perl 全系统去查找名带perl的文件 $ find . -mtime 10 –print 在当前目录下查找修改时间10天以上的文件 $ find . -mtime -10 –print 在当前目录下查找修改时间10天以 内的文件 $ find /etc -user 0 –size +400 –print $ find ~ -perm 777 > ~/holes 查找权限777 并输出到家目录下的holes文件里 $ find /export/home -type f -atime +365 家目录下的普通文件访问时间在365天以前的 f 是普通文件 也可以是其他的文件类型

    $ find /export/home -type f -atime +365 -exec rm {} ; 找到365天都没编辑过的文件并且删除掉 (找到的文件如果有不删除的文件 先touch下)

    $ find /export/home/html -name “*.html” -print | xargs perl -p -i.bak -e “s/2004/ 2005/g;” 查找/export/home/html 下.html的文件 备份后 查找并将内容的2004替换成2005 xargs 与其他命令配合使用,提取上一个命令的结果作为随后命令的参数 perl 语言解释器 -p 查找并且替换 -i.bak 修改之前进行备份,备份文件为 使用.bak结束 -e 执行操作 “s/Copyright 2004/Copyright 2005/g;”

    grep 搜索

    -i 搜索过程中忽略大小写 -v 显示不匹配指定模式的行 grep root /etc/passwd 搜索 root 下 /etc/passwd这个目录 ls -la | grep -i ’sep ’ 查找带名字sep的文件 cat /etc/passwd | awk -F: ‘{print $1 $4}’ | 打印文件1和4 的信息 awk 在数据检索内容

    Processed: 0.014, SQL: 8