二、Linux文件操作命令


Linux学习技巧

善于查看man help等帮助文档 
利用好Tab键  自动补全
掌握好一些快捷键
ctrl + c(停止当前进程)
ctrl + z  挂起当前进程,放后台
ctrl + r(查看命令历史) history
ctrl + l(清屏,与clear命令作用相同)
方向箭头  上 下 可以查看执行过的命令
ctrl + a  行首 ctrl + e 行尾
ctrl + k  清除   ctrl+ w 清除单词
命令格式:
    命令  [-选项]  [参数] 
    如:ls  -la  /usr 大部分遵循该格式 多个选项时,可以一起写  eg:ls –l –a  ls –la

一、Linux目录结构

在这里插入图片描述

/bin: (binaries) 存放系统命令的目录,所有用户都可以执行。
/sbin : (super user binaries) 保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。
/usr/bin:存放系统命令的目录,所有用户可以执行。这些命令和系统启动无关,单用户模式下不能执行
/usr/sbin:存放根文件系统不必要的系统管理命令,超级用户可执行
/root: 存放root用户的相关文件,root用户的家目录。宿主目录  超级用户
/home:用户缺省宿主目录 eg:/home/spark
/tmp:(temporary)存放临时文件
/etc:(etcetera)系统配置文件
/usr:(unix software resource)系统软件共享资源目录,存放所有命令、库、手册页等
/proc:虚拟文件系统,数据保存在内存中,存放当前进程信息
/boot:系统启动目录

/dev:(devices)存放设备文件
/sys :虚拟文件系统,数据保存在内存中,主要保存于内存相关信息
/lib:存放系统程序运行所需的共享库
/lost+found:存放一些系统出错的检查结果。
/var:(variable) 动态数据保存位置,包含经常发生变动的文件,如邮件、日志文件、计划任务等
/mnt:(mount)挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
/media:挂载目录。 挂载媒体设备,如软盘和光盘
/misc:挂载目录。 挂载NFS服务
/opt: 第三方安装的软件保存位置。 习惯放在/usr/local/目录下
/srv : 服务数据目录

二、文件处理命令

cd    
    英文:change directory	命令路径:内部命令	执行权限:所有用户
    作用: 切换目录
    语法:cd [目录]      / 切换到根目录     
    .. 回到上一级目录    
    . 当前目录
    -  显示并打开到上一次操作的目录     
     ~ 当前用户的宿主目录(eg:# cd ~用户名  进入某个用户的家目录)
ls   
    英文:list	命令路径:/bin/ls	执行权限:所有用户
    作用:显示目录文件
    语法:ls [-alrRd] [文件或目录]
    -a all 显示所有文件,注意隐藏文件,特殊目录.和..    
    -l(long) 显示详细信息    
    -R(recursive)   递归显示当前目录下所有目录  
    -r (reverse)  逆序排序
    -t(time)	按修改时间排序(降序)
     ll  相当于 ls –l
pwd 
    英文:print working directory	命令路径:/bin/pwd		执行权限:所有用户
    作用:显示当前工作目录
    语法:pwd [-LP]
        -L 显示链接路径,当前路径,默认
        -P 物理路径
    eg:# cd /etc/init.d
    #pwd [-P]
mkdir 
    英文:make directories	命令路径:/bin/mkdir	执行权限:所有用户
    作用:创建新目录
    语法:mkdir [-p] 目录名
    -p 父目录不存在情况下先生成父目录 (parents)
    eg: mkdir linux/test  如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。
touch
    命令路径:/bin/touch		执行权限:所有用户
    作用:创建空文件或更新已存在文件的时间      
    语法:touch 文件名    
    eg:touch  a.txt  b.txt   touch {a.txt,b.txt}    同时创建多个文件
    创建带空格的文件   eg:touch "program files"   在查询和删除时也必须带双引号
    注意:生产环境中,文件名,一定不要加空格
cp
    英文:copy		命令路径:/bin/cp		执行权限:所有用户
    作用:复制文件或目录
    语法:cp [–rp]  源文件或目录 目的目录
    -r -R recursive 递归处理,复制目录
    -p 保留文件属性 (原文件的时间不变)
    eg:
    1,相对路径  cp –R /etc/* .     cp –R ../aaa  ../../test/
    2,,绝对路径  cp –R /ect/service  /root/test/aa/bb
mv 
    英文:move 	命令路径:/bin/mv		执行权限:所有用户
    作用:移动文件或目录、文件或目录改名
    语法:mv 源文件或目录 目的目录
rm
    英文:remove 	命令路径:/bin/rm		执行权限:所有用户
    作用:删除文件
    语法: rm [-rf] 文件或目录
    -r  (recursive)删除目录,同时删除该目录下的所有文件
    -f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认
    注意:工作中,谨慎使用rm –rf 命令。
    扩展点:删除乱码文件
    一些文件乱码后使用rm -rf 依然无法删除
    此时,使用ll -i 查找到文件的inode节点
    然后使用find . -inum 查找到的inode编号  -exec rm {} -rf \;
    就能顺利删除了
cat  
    英文:concatenate 	命令路径:/bin/cat		执行权限:所有用户
    作用:显示文件内容
    语法:cat [-n] [文件名]
         -A  显示所有内容,包括隐藏的字符   
        -n	显示行号     
    eg:cat /etc/services
more
    命令路径:/bin/more		执行权限:所有用户
    作用:分页显示文件内容
    语法:more [文件名]
    空格或f   显示下一页
    Enter键   显示下一行
    q或Q  退出
head  
    命令路径:/usr/bin/head		执行权限:所有用户
    作用:查看文件前几行(默认10行)
    语法:head [文件名]
           -n 指定行数 
    eg:head -20 /etc/services   head –n 3 /etc/services
tail 
    命令路径:/usr/bin/tail	执行权限:所有用户
    作用:查看文件的后几行       
    语法:tail [文件名] 
    -n 指定行数 
    -f  (follow) 动态显示文件内容
    获取一个大文件的部分文件,可使用head或tail命令
    head -n 100 /etc/services >config.log
ln   
    英文: link 	命令路径:/bin/ln	执行权限:所有用户
    作用:产生链接文件     
    语法:
    ln -s   [源文件]    [目标文件]    创建软链接       源文件 使用 绝对路径
    ln  [源文件]    [目标文件]    创建硬链接
    eg:ln -s /etc/service  ./service.soft
    创建文件/etc/service的软链接service.soft
    eg:/etc/service  /service.hard 
    创建文件/etc/service的硬链接/service.hard    
    软连接类似于windows下的快捷方式
    软连接文件格式:
    lrwxrwxrwx. 1 root root     13 Jul 20 07:50 service -> /etc/services
    1	硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。
    13链接文件的长度
    格式解析(特征):
       1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是  lrwxrwxrwx 
       2,->  箭头指向到源文件
        真正的权限取决于对源文件的权限
        时间值为创建软连接的时间
        软连接可以跨文件系统生成
        硬链接特征
        1,相当于 cp -p +同步更新  
        2,通过i节点识别,与源文件有相同的inode节点
        3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)  
        4,不能针对目录使用  ln /tmp/ aa.hard   (无法将目录/tmp 生成硬链接)
        删除软连接
        rm -rf symbolic_name 

三、文件搜索命令

find 
    命令路径:/bin/find		执行权限:所有用户
    作用:查找文件或目录      
    语法:find [搜索路径] [匹配条件]
    如果没有指定搜索路径,默认从当前目录查找
    find命令选项
    -name 按名称查找  精准查找
    eg:find  /etc  -name  “init” 在目录/etc中查找文件init
    -iname 按名称查找
    find查找中的字符匹配:
    *:匹配所有
    ?:匹配单个字符
    eg:find  /etc  -name  “init???”    在目录/etc中查找以init开头的,且后面有三位的文件
    模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用\*。
    eg: # find . –name *g
    -size  按文件大小查找
    以block为单位,一个block是512B, 1K=2block    +大于  -小于  不写是等于 
    eg:find /etc -size -204800  在etc目录下找出大于100MB的文件
     100MB=102400KB=204800block 
    -type  按文件类型查找 
     f 二进制文件  l 软连接文件 d 目录  c 字符文件 
    eg: find /dev -type c

    find查找的基本原则:
    占用最少的系统资源,即查询范围最小,查询条件最精准
    eg:
    如果明确知道查找的文件在哪一个目录,就直接对指定目录查找,不查找根目录/ =
grep
    命令路径:/bin/grep		执行权限:所有用户
    作用:在文件中搜寻字串匹配的行并输出      
     语法:grep [-cinv] '搜寻字符串' filename
     选项与参数:
       -c :输出匹配行的次数(是以行为单位,不是以出现次数为单位)
       -i :忽略大小写,所以大小写视为相同
       -n :显示匹配行及行号
       -v :反向选择,显示不包含匹配文本的所有行。
    eg:grep ftp  /etc/services 
    eg:#grep -v ^# /etc/inittab         去掉文件行首的#号
    eg:# grep -n “init”/etc/inittab  显示在inittab文件中,init匹配行及行号
    eg:# grep -c“init”/etc/inittab   显示在inittab文件中,init匹配了多少次
which    
    命令路径:/usr/bin/which		执行权限:所有用户
    作用:显示系统命令所在目录(绝对路径及别名)  
    which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令
    # which ls
    alias ls='ls --color=auto'
        /bin/ls
    # which zs
    /usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)
whereis
    命令路径:/usr/bin/whereis		执行权限:所有用户
    作用:搜索命令所在目录 配置文件所在目录  及帮助文档路径      
    eg: which passwd    和   whereis  passwd   
    eg:查看/etc/passwd配置文件的帮助,就用  man 5 passwd

四、压缩解压缩命令

gzip 
    英文:GNU zip 	命令路径:/bin/gzip		执行权限:所有用户
    作用:压缩(解压)文件,压缩文件后缀为.gz    
    gzip只能压缩文件,不能压缩目录;不保留原文件
    语法:gzip 文件
    -d将压缩文件解压(decompress)

    解压使用gzip –d或者 gunzip
bzip2  
    命令路径:/usr/bin/bzip2		执行权限:所有用户
    作用:压缩(解压)文件,压缩文件后缀为.bz2
    语法:bzip2 [-k] [文件]   
    -k:产生压缩文件后保留原文件(压缩比高)
    -d 解压缩的参数(decompress)
    解压使用bzip2 –d或者 bunzip2
zip   
    命令路径:/usr/bin/zip		执行权限:所有用户
    作用:压缩(解压)文件,压缩文件后缀为.zip
    语法:zip 选项[-r]  [压缩后文件名称] [文件或目录]   
     -r压缩目录
    eg:zip services.zip /etc/services  压缩文件; 
    zip -r test.zip  /test  压缩目录
    如果不加-r选项,压缩后的文件没有数据。
    解压使用unzip 
tar 
    命令路径:/bin/tar		执行权限:所有用户
    作用:文件、目录打(解)包
    语法:tar [-zcf] 压缩后文件名  文件或目录
    -c 建立一个压缩文件的参数指令(create),后缀是.tar
    -x 解开一个压缩文件的参数指令(extract)
     	-z 以gzip命令压缩/解压缩  
    -j  以bzip2命令压缩/解压缩 
    -v 压缩的过程中显示文件(verbose)
    -f file 指定文件名,必选项

    1,	单独的打包 ,解包   tar –cf   tar –xf 
    2,	打包之后,进行压缩  gzip   bzip2
    3,	一步到位  tar –zcvf       tar -zxvf
    tar -cf   -xf     单独 压缩  解压缩
    tar  -z 以gzip打包目录并压缩  文件格式.tar.gz(.tgz)
    tar  -j 以bzip2打包目录并压缩  文件格式.tar.bz2
     eg:tar -zcvf dir1.tar.gz  dir1   使用gzip将目录dir1压缩成一个打包并压缩文件dir1.tar.gz
         tar -zxvf  dir1.tar.gz -C(大写的)  /root     解压到指定的/root目录
     eg: tar -cvf bak.tar  .    将当前目录的文件打包为bak.tar
     eg: tar -xvf bak.tar   解压
     eg: tar -zcvf bak.tar.gz  bak.tar   或 gzip  bak.tar    使用gzip将打包文件bak.tar压缩为bak.tar.gz
     eg: tar -jcvf bak.tar.bz2  bak.tar  或 bzip2 bak.tar   使用bzip2将打包文件bak.tar压缩为bak.tar.bz2
     eg: tar -rvf bak.tar /etc/password     将/etc/password追加文件到bak.tar中(r)
     eg:tar -cjvf test.tar.bz2  test  生成test.tar.bz2的压缩文件
     eg:tar -xjf test.tar.bz2        解压
    最常用:   tar + gzip
    tar –zcvf 压缩    
    tar –zxvf  解压
    补充:
    1,文件路径, 压缩包带文件路径
    2,源文件是保留的,不会被删除

五、vim编辑器

在这里插入图片描述

插入命令
    1、a 
        在光标后附加文本
    2、A(shift + a)
        在本行行末附加文本   行尾
    3、i
        在光标前插入文本
    4、I(shift+i)
        在本行开始插入文本 行首
    5、o 
        在光标下插入新行
    6、O(shift+o)
        在光标上插入新行
定位命令
    1、:set nu
        设置行号
    2、:set nonu
        取消行号
    3、gg
        到第一行
    4、G
        到最后一行
    5、nG
        到第n行
    6、:n
        到第n行
保存和退出命令
    1、:w
        保存修改
    2、:w new_filename
        另存为指定文件
    3、:w >> a.txt
        内容追加到a.txt文件中 文件需存在
    4、:wq
        保存修改并退出
    5、shift+zz(ZZ)  
        快捷键,保存修改并退出
    6、:q!
        不保存修改退出
    7、:wq!
        保存修改并退出(文件所有者可忽略文件的只读属性)
    eg: 有突发情况,导致窗口退出。修改文件之后,直接删除同名的.swp文件
删除命令
    1、x    
        删除光标所在处字符   nx 删除光标所在处后n个字符
    2、dd
        删除光标所在行,ndd删除n行
    3、:n1,n2d
        删除指定范围的行(eg :1,3d   删除了123这三行)
    4、dG
        删除光标所在行到末尾的内容
    5、D
        删除从光标所在处到行尾
复制和剪切命令
    1、yy、Y    
        复制当前行
    2、nyy、nY
        复制当前行以下n行
    3、dd   
        剪切当前行
    4、ndd 
        剪切当前行以下n行
    5、p、P
        粘贴在当前光标所在行下  或行上
替换和取消命令
    1、r
        取代光标所在处字符
    2、R(shift + r)
        从光标所在处开始替换字符,按Esc结束
    3、u
        undo,取消上一步操作
    4、ctrl+r
        redo,返回到undo之前
搜索和替换命令
    1、/string
        向后搜索指定字符串   搜索时忽略大小写 :set ic
    2、?string
        向前搜索指定字符串
    3、n
        搜索字符串的下一个出现位置,与搜索顺序相同
    4、N(Shift + n)
        搜索字符串的上一个出现位置,与搜索顺序相反
    5、:%s/old/new/g
        全文替换指定字符串 
    6、:n1,n2s/old/new/g
        在一定范围内替换指定字符串
    eg: % 指全文,s 指开始,g 指全局替换
        起始行,终止行s/要替换的字符串/替换的新的字符串/g    c 询问确认
            eg: :%s/ftp/yang/g    全局替换,把ftp替换为yang
            eg: :41,44/yang/lee/c   从41行到44行,把yang替换为lee,询问是否替换
            eg: :41,44/yang/lee/g   同上,不询问,直接替换
            eg: :%s/\/root/\/ROOT/g  把/root替换为/ROOT
            eg: :%s#/bin/bash#/bin/ksh/g        把/bin/bash全部替换为/bin/ksh
        使用替换命令来添加删除注释
            :% s/^/#/g 来在全部内容的行首添加 # 号注释
            :1,10 s/^/#/g 在1~10 行首添加 # 号注释
vi里面怎么查命令??
    :!which cp
vi里面怎么导入命令的结果?
    :r !which cp
可视化模式
    v  可视字符模式
    V(shift+v) 可视行模式,选择多行操作
    ctrl+v 可视块模式(列模式),操作列
    I或者O进入插入模式。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值