Linux常用命令学习二

本文介绍了Linux环境下常用的文件操作命令如cp、mv等,文本处理命令如grep、sed等,以及bash特性和管道重定向的使用方法。
12月5号
1.文件的复制
   cp src(源文件) dest(目的文件),最后一个是目标,其他都是源文件,比如cp file1 file2 file3  这里只有file3是目的文件; 
         注意:只能实现的是一个文件到一个文件,多个文件到一个目录,还有如果目标是一个目录的话,并且该目录是存在的话,那么是  


       将源文件名保存到目标目录下;还有源文件如果是多个那么目标必须得是目录了;
         还要很多的选项,该命令默认是复制文件不复制目录,但是如果想复制目录的话可以加上 -r
         cp -r /etc/init.d  /tmp/hello  递归复制
         cp -i 交互式
         cp -f 强行复制,如果目标文件存在直接覆盖,就是无论如何都会复制过去
         cp -p 保留原有文件的属主和数组和时间戳(ls -l进行查看指定文件的详细信息),这个选项是非常有用的
         cp -a 保留文件的所有的属性,比-p保留的更多(归档存放,备份常用的机制,这个选项非常重要) 
         cp -L 默认的复制的文件指向的文件
         cp -P 保存源文件的连接,如果源文件是一个连接的时候的话(因为cp默认的是复制的连接指向的文件的)


         cp /etc/{file1,file2,rc/rc.sysinit} /temp/ 花括号的展开机制,意思是复制三个文件,在文件操作路径时经常使用
2.mv:文件移动命令
    mv src dest,同理目标只有一个,不能拿着目录去移动到一个文件,
    mv file1 file2 如果源文件和目标文件在同一目录下,就是重命名,不关心你是文件还是目录.
    mv 其实也是个别名,mv -i
    mv -f如果目标文件存在,强行覆盖
    mv -t 目标文件 源文件  先写目标后面是源文件.


3.install:安装意思,安装软件第三方软件,错误,拷贝文件并且设置属性

    install -d /tmp/{file1.txt,file2.txt}  这意思是是创建两个文件,创建目录
    install -t 目标 文件,先写目标
    install 只能复制的是文件,和copy不同了,没有相应的选项了
4.文本查看命令:cat,tac,more,less,head,tail,cut查看文本,不要试图打开一个二进制的文件
    cat :连接并显示,可以显示多个文件  cat file.txt file2.txt
    cat -n :加上显示的行号,和文件的内容无关得,只是显示的行号罢了.
    cat -E :显示每一个行的行结束符的  $符,对于linux而言每行的结束符是 $ 符,,而windows是$ + 换行符.
    cat -v :显示其他的非打印字符
    cat -A :显示所有内容
    使用cat显示命令的时候是从头部到尾部依次显示的,而使用tac显示的是从尾部到头部显示的
    当cat直接回车的话,会进入标准输入输出,这时候需要终端命令来结束了,Ctrl+c.
    
  分屏显示:
     more:空格键下一页,b键向前翻,回车键逐行显示
     less:和man同样,man里的选项这里都支持,翻到最后是不退出的,只有输入q退出 
  指向查看文件的某几行:
     head -n:查看文件的前n行(默认是10)
      head -n 2  显示前两行或者head -2 也行
     tail:查看文件的后n行
       tail -f 查看完文件之后不退出,当其他进程编辑完后继续进行实时显示的命令.(可以用来监控某服务是否运行,可以监控某个日 


          志)
5.文本处理的命令:cut,grep,join,sed(功能相当强大,但是非常难),awk(报告生成命令,也是非常难的,这个自己一个命令就是一个编程  


    语言)
    cut:指向显示文件的某一个字段,都把整个文件剪一下,只保留某个字段,
       cut -d(指定字段分隔符,默认是一个空格) : -f(指定显示的字段)1 /etc/passwd    意思是: 以':'为分割符,在/etc/passwd文 


      件中值显示第一个字符(这个命令非常重要的)
6.文本排序:sort
    sort -n数值排序
    sort -r降序
    sort -t字段分割符
    sort -k以哪个字段为关键字进行排序
    sort -u排序后,相同并相邻的行显示一次 ,之后还可以使用uniq显示哪一行是重复的,重复的行必须是相邻并且相同才是.
    sort -f排序时忽略大小写进行排序,因为linux是严格区分大小写的.
7.uniq:报告重复的行
    -d  只显示重复的行
    -D  显示所有重复的行(只有相邻的才行)
    -c  显示每行的重复次数
8.文本统计类的命令.
     wc: word count简写,不是洗手间哈!!哈哈,可以统计文本中有多少个字符,空格键也是字符
     打印的是::行数 单词  字节数
     -l  只显示的行数
     -L  最长的一行包含多少个字符
     -w  只显示单词数
     -c  只显示的字节数
     -m  只显示统计字符数
9.字处理命令:tr(转换或删除字符的命令)
     tr 选项  字符1,字符2.
     tr 'ab' 'AB'   把字符集换成AB,会把你下面输入的字符串里所有的ab字符集转化成AB
     但是我们需要用到的是将一个文件中的所有的ab转化成AB(举个例子),而不是我们输入的字符串.又但是tr后面不能跟文件名,那怎  


     么办呢?这里我们用到了输入重定向了.用到了<    tr 'ab' 'AB' < /etc/passwd  这时候才是将后面文件中的内容转化.逐个字符 


     比较;那我们想把一个文件中的所有小写字母装换成大写怎么办?  tr 'a-z' 'A-Z' < 文件路径
 
     tr还可以用来删除字符的,tr -d  'ab'即可.逐个字符进行处理,不是处理单词的,一定要记住了!!


10.bash及其特性

   一个操作系统来言,shell是距离用户最近的程序,shell意思就是外壳,也是用户直接连接计算机的程序,广义上的shell包括gui和cli,
   一个进程不知道别的进程的存在,只认为当前主机上存在着内核和当前进程的,至于为什么以后将原理的时候回讲,进程是程序执行的  


   例,所以是有生命周期的,一个进程是程序的副本.bash一个外部命令.


   shell是有子shell概念的,shell中可以继续打开一个shell,exit退出当前这层的shell.就算是父子关系,那么他们彼此的设定都是没  


   关系的.
   bash特性:为了方便用户使用,shell做了一些特定的功能,命令历史,bash支持管道重定向,支持命令别名,支持命令行编辑和命令行展  


   开,还有文件名统配,等等更重要的是他还支持使用变量,最重要的是它支持编程,这种程序就叫做脚本.


   特性简介:
   命令行编辑--
          光标跳转:ctrl + a跳到命令行首,ctrl + e跳到命令行尾(常用命令)
          ctrl + u删除光标之行首,ctrl + k 删除光标之行尾的内容
          ctrl + l 直接清屏,或者clear
   命令历史--
          history   查看之前执行的所有命令包括刚刚执行的history,还可以进行一些管理命令,history -c清空整个命令历         


          史,history -d 500 删除第多少个命令,history -d 500 100 从第500个删除100个命令;这些命令历史会被保存到家目录的一 


         个隐藏文件中,关机查看之前的命令是都会被读到的,我们也可以手动的将缓冲区的命令保存历史文件中去,-w就可以.
   命令历史的使用技巧--
          !csh  执行之前csh的命令    
          引用上一个命令的最后一个参数: !$
   命令别名--
           比如clear,windows是cls,就可以给clear起个cls起个别名即可, alias来实现,alias 别名=命令名,如果命令名之间有空格  


           话最好用''个引起来.但是只在shell的生命周期内有效,shell关闭了,再重新启动就没了.但是我们想一直有效怎么办呢?通  


         过程序的配置文件来实现了,至于具体怎么实现后面会说!!!
           alias可以查看系统中所有的命令别名.unalias  别名   也可以撤销别名   别名使用:\cmd
   命令替换-- 
           把命令中某个子命令替换成其执行结果的过程就叫做命令替换,这种用法对我们是非常关键的,一定要学会使用.
               echo "The current directory is $(pwd)"
   文件名统配--globbing
          *:任意长度的任意字符
          ?:任意单个字符
          []:匹配指定范围内的任意单个字符 [a,b,c]   [a-m]
          [^]:匹配指定范围之外的任意单个字符 
 [:space:]:空白字符
          [:punct:]:标点字符
 
          也可以通过man 7 glob获取上面的这些特殊的
          
          正则表达式这里不再啰嗦
      


     正则表达式
5.管道和重定向: > < > >> <<
6.用户,组,权限
7.bash shell及其特性,命令别名,和编程环境,逐渐引入shell编程了
8.www.kermel.org linux官网查看内核版本号
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值