linux常用命令

一、linux常用命令

创建一个目录 /data    
    mkdir /data    
    ls  -l  /data/
    cd   /data/
    pwd
        相对路径与绝对路径
        1.绝对路径 从根开始的路径 /data 
        2.相对路径 不是从跟开始  相对于当前路径   data 

在/data下面创建文件oldboy.txt
    touch  /data/oldboy.txt
    为oldboy.txt增加内容"I am studying linux."
        方法一:
            1.vim /data/oldboy.txt
            2.进入编辑模式 按i 
            3.退出编辑模式 按esc 
            4.保存并退出 :wq
            5.检查   cat /data/oldboy.txt
        方法二:
            echo "oldboyedu-pys6.com" >> /data/oldboy.txt 
    >>   追加输出重定向 把内容追加到文件的结尾
    >    重定向         先清空文件,把内容追加到文件的结尾

vi/vim快捷键:
    剪切复制粘贴
    复制当前行    yy 
    粘贴          p
    剪切          dd 
    其他操作
    撤销          u
    恢复         ctrl + r  

把oldboy.txt拷贝(复制)到/tmp下
    cp /data/oldboy.txt  /tmp//data 移动到 /root目录下面    
    mv  /data/   /root/

备份:
    cp oldboy.txt oldboy.txt.bak
    
重命名:
    mv oldboy.txt oldboy.avi 

进入/root目录下的data目录,删除oldboy.txt文件
    rm oldboy.avi  -f

man rm:查看命令帮助
    
在系统中查找出名字叫 oldboy.txt的文件 
    #find /         -type f -name "oldboy.txt"
    #find 在哪里找  -类型 f -名字  ""

    find /tmp         -type f -name "*.txt"

    -type  f (file)
    -type  d (dir)

    find /  -type f -size +1M    在根目录下找文件大小大于1M的
    
..   当前目录的上级目录 
.    当前目录     
    
管道 
    find命令与其他命令配合  
    find + |xargs     
    find /root/ -type f -name "*.log" |xargs ls -l   查找root下的以.log结尾的文件,然后执行ls -l命令
    
打印配置文件nginx.conf内容的行号及内容,该如何做?    
    seq 10 -1 1  >nginx.conf    将10-1 覆盖添加到nginx.conf
    1、cat -n nginx.conf    打印文件内容并打印行号
    2、进入vim;   :set nu  显示行号    set nonu   隐藏行号
        快速到达文件的最后一行  G
        快速到达文件的第一行    gg
        快速到达文件的某一行    10gg

递归创建目录:
    mkdir -p  /oldboy/test
    
只查看ett.txt文件(共100行)内第20到第30行的内容
    #awk   'NR==20'  ett.txt
    #awk   'NR>=20 && NR<=30'  ett.txt     
    
文件内容的替换:
    sed 's#oldboy#oldgirl#g' t.sh 
            xxx     yyy        file    将文件file里的xxx替换为yyy并显示
        
    # sed -i.bak   's#oldboy#oldgirl#g' t.sh 
    # # 先备份源文件 t.sh.bak
    # # 然后修改文件内容 
    
备份多个文件  打包压缩
    #创建压缩包 
    z ==== gzip    软件进行压缩   .tar.gz 
    c ==== create  打包 创建包
    v ==== verbose 显示过程 
    f ==== file    指定压缩包    
        tar zcf /tmp/etc.tar.gz    /etc/   将etc目录打包成etc.tar.gz
    #查看压缩包
     tar tf /tmp/etc.tar.gz

    #解压-解压到当前目录
    tar xf etc.tar.gz    
    
软件安装的方法:
    yum install package
    rpm  包
    编译安装    ./configure  make   make install

 二 简单操作

 - 查看当前用户  #id
 - 查看登录了那些用户  #who  pty/0 # 终端打开的用户
 - 查看当前登录用互名  #whoami
 - 清除 #clear == ctrl+l
 - 终止命令 ctrl+c
 - 补全命令 tab
 - 切换用户 su - 用户名
 - 改密码(当前用户) #passwd +用户名(其他用户 )
 - 打印 echo ‘密码’
 - 不用提示改密码 echo ‘密码’ | passwd --stdin 用户名 # | 管道命令符
   - 管道功能:连接两条命令,将左变命令交给右边命令
 - pwd  查看当前目录
 - cd ~ 当前所在家目录
 - cd .. 代表上一级目录
 - cd - 切换上一次所在目录

 - 新建一账号 useradd 用户名 
 - echo ‘密码’ | passwd -- stdin 用户名
  
- linux目录结构
  - 绝对路径:从根上找 
  - 相对路径:从当前所在路径
  
  # 文件操作
  - 新建新文件 touch **.txt
  - 建文件夹/目录 mkdir aaa
    - 绝对路径创建目录 mkdir -p /a/b/c
      - 创建文件 touch /a/b/c/d.txt
    - 相对路径创建文件 cd /a 
      - touch b/c/d1.txt
  
  - 在根路径下建文件夹/目录
    - 方式一:切到根路径下创建
    - 方式二:在其他路径下把文件夹创建到根路径下
              mkdir /bbb
  - 删除 rm
    - 删除目录 rm -r aaa
    - 没提示删除 rm -rf aaa(不提倡)
    - 删除文件 rm 文件名
       
  - 浏览命令 ls   # 浏览根 ls/
  - 查找命令在哪个文件下 which ls
  
# 快捷键
  ctrl+e 命令结尾
  ctrl+a 命令开头
  
- linux系统中 .开头的文件是隐藏文件
  
  # ls命令:查看目录
  - ls - a 查看所有文件 包括隐藏文件
  - ls - l 查看文件详细信息
  
  # cp命令 :复制粘贴
  - cp  /tmp/aaa.txt /etc   将根目录tmp文件夹下文件aaa.txt复制到根目录etc下
  - cp  /tmp/aaa.txt /etc/bbb.txt   将根目录tmp文件夹下文件aaa.txt复制更改为到根目录etc下bbb.txt 
  - cp  /tmp/aaa.txt /etc/bbb.txt  无提示覆盖原文件
  
  -  代表使用最原始的 
  - cp - r  复制目录下所有目录 
  - cp - a  拷贝文件的详细信息
  
  
原文地址:https://www.cnblogs.com/lianxuebin/p/8567529.html