zoukankan      html  css  js  c++  java
  • Linux 常用命令总结

    1、mkdir  make directorys 创建目录

    例子:mkdir /data  在根下创建data目录

    2、ls  list 列表列表目录文件

    -a 隐藏文件  -l 长格式  -F 给不同文件结尾加标识  -p 给目录结尾加斜线  -t 按修改时间排序  -r 反转排序(倒序)

    3、echo  打印输出内容

    例子:echo "abc" >>a.txt  将内容abc追加到a.txt里

    4、cat  查看文件内容

    -n 显示行号

    5、xargs  从标注输入的内容创建和执行命令

    例子:xargs -n 4 <a.txt  分成每四个为一行输出

    6、cp  copy  拷贝文件或目录

    -r  递归,用于拷贝目录 例子:cp -r /test/ /data/

    -p  保留属性

    7、rm  remove删除文件或目录  -f 强制 -r 递归

    8、mv  move移动文件或目录  在当前目录下:重命名

    9、find  查找

    -type 文件类型 (f 文件 d目录 c字符 b 块设备)

    -name 文件名

    -exec 操作

    例子:1、find /data -type f -name "*.txt" -exec rm {} ;

       2、find /data -type f -name "*.txt" | xargs rm -rf  删除data目录下所以txt结尾的文件

    -mtime  文件修改时间(+7 七天以前 7 第七天 -7 最近七天)

    例子:1、find /data -type f -name "*.log" -mtime -7 -exec rm {} ; 删除最近七天的文件

       2、find /data -type f  -mtime +7 | xargs rm -rf  删除最近七天以前的文件

    10、grep  过滤内容

    --color=auto 对过滤字符设置颜色 

    -n . 显示行号 

    -v 排除内容  例子:grep -v test a.txt  排除a.txt中test内容

    -A 除了显示匹配的一行之外,并显示该行之后的num行 例子:grep 20 -A 10 a.txt 打印文件的20-30行内容

    -B 除了显示匹配的一行之外,并显示该行之前的num行 例子:grep 30 -A 10 a.txt 打印文件的20-30行内容

    -C 除了显示匹配的一行之外,并显示该行前后的num行 例子:grep 25 -A 5 a.txt 打印文件的20-30行内容

    11、sed  留编辑器,实现对文件的增删改查替换

    参数-n  取消默认输出 p(打印) 例子:sed -n '2,10'p a.txt  打印文件的2-10行内容

    替换 s 全局 g 修改文件内容 -i 例子:sed -i 's/abc/cba/g' a.txt  把a.txt中所有abc替换为cba

    * /是分隔符 可用任意3个相同的字符代替 

    12、awk  过滤输出,一门语言

    NR行号  例子:awk '1<NR && 11>NR' a.txt  打印文件的2-10行内容

    $1 第一列、$2第二列,但$0标识一行

    -F指定分隔符 -NF 结尾

    13、head  头,输出文件前N行内容,默认前10行

    14、tail  尾,输出文件后N行内容,默认后10行

    15、alias  查看和设置别名

    例子:alias mv='echo mv is dangerous command'  用于提示用户mv是危险指令

    例子:alias net='systemctl restart network'  简化操作,输入net后重启网络

    unalias  取消别名  例子:unalias net

    *仅保存在内存,永久生效需要保存在 ~/.bashrc(当前用户生效)/etc/profile(全局生效)

    16、sourec  常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录

    17、seq  序列  

    例子:seq 100 >a.txt 生成100列1-100的序列

    -s  横向打印  例子:seq -s " " 1 10

    18、netstat  用于显示各种网络相关信息

    19、在secureCRT中  yum install lrzsy -y 下载

    rz  命令本地上传文件到服务器

    sz filename 命令发送文件到本地

    20、su  变更使用者身份

    例子:su - abc

    21、date  系统时间

    date +%F 当天日期  date +%s 时间戳 

    22、chmod  更改文件系统的权限

    r=4 w=2 x=1  u=用户 g=组 o=表示其他 a=表示全部

    -R  递归,更改整个目录的权限

    例子:chmod a+x test  给test所有用户组其他x权限

    例子:chmod 777 test  给test777最高权限

    23、chown  更改文件所有权

    例子:chown root test1  更改test1的所有权

    例子: chown :root test1  使用:更改组的所有权

    例子:chown root:root test1  同时更改所有者和组

    -R  递归,更改整个目录的所有权

    24、scp  机器之间的复制 可用hostname与id指定

    例子:scp /home/a xxxxip:/root  将本地/home/a文件目录复制到xxxx的/root目录

    scp -r xxxip:/root /home  将xxxx的root目录复制到本地/home

    25、sftp  用户两台机器的交互式远程传输

    sftp可使用ls,pwd,mkdir等命令,put用于上传,get用于下载

    例子:sftp<put -r /home  将xxxxip主机上的/home目录下载至本地目录

    26、ln 软、硬链接

    ln -s 源文件 目标文件 软连接 相当于快捷方式 例子:ln -s test newtest

    ln  源文件 目标文件 硬连接 相当于更新+实时更新    例子:ln  test newtest

     27、uname  打印系统信息

    -a (all)  -n 显示主机名

    28、shutdown  halt  init 0  关机

    init 6  reboot  shutdown -r  重启

    例子:shutdown -h now  关机

    29、history  查看历史记录

    -c  清除记录  -d num  清除指定行的记录

    30、wc  统计

    -l 统计总行数  -L显示字符数

    其他补充&面试题

    创建100个txt文件/目录:

    #touch/mkdir {1..100}.txt

    查找opt下所以txt文件移动到data目录:

    #mv ` find /opt/ -type f -name "*.txt"  ` /data/

    删除一个目录下所有文件,只保留一个指定文件:

    #find /opt/ -type f ! -name "1.txt" -exec rm {} ;
    #find /opt/ -type f ! -name "1.txt" | xargs rm

    打印一个100行文件的20-30行内容

    #sed -n '20,30'p a.txt

     将/opt目录下所有.sh文件的内容内的abc替换为jty

    #find /opt -type f -name '*.sh' |xargs sed -i 's/abc/jty/g' 

     使用awk抓取/etc/passwd文件中的10-20行的第三列,重定向到/data/test.txt文件里

    #awk -F ":" '9<NR && NR>21 {print $3}' > /data/test.txt 

     将目录下所有.txt文件名的后缀改为.sh 

    #rename .txt .sh *.txt

     查找当前目录下的所有隐藏目录和一级目录(仅包含一级目录)

    #ls -F | grep "/$"
    #ls -l | awk '{(if $2>1) prinf $0}'

    已知服务的访问日志按天记录在服务器本地目录/app/logs下,由于磁盘空间紧张,现在要求只保留最近7天访问日志,请问如何解决?至少三种方法

    find /app/logs -type f -mtime +7 | xargs rm -f 
    find /app/logs -type f -mtime +7 -exec rm -f {} ;
    rm -f `find /app/logs -type f -mtime +7`

    特殊符号

    |  管道符

    .  当前目录

    ..  上级目录

    ·  反引号

    1>或>  输出重定向:把前面输入的东西放到文件后面,会清空原有内容

    1>>或>>  追加重定向:把前面输入的东西放到文件后面,不会清空原有内容

    https://blog.51cto.com/yangrong/1288072

  • 相关阅读:
    Bundle savedInstanceState的作用
    仿知乎程序 fragment的切换以及toolbar在不同页面下显示的menu不同
    LayoutInflater的inflate函数用法详解
    ListView之BaseAdapter的使用
    Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
    Android中的onActivityResult和setResult方法的使用
    Gson解析复杂的json数据
    Android Volley入门到精通:定制自己的Request
    Android Volley入门到精通:使用Volley加载网络图片
    Android Volley入门到精通:初识Volley的基本用法
  • 原文地址:https://www.cnblogs.com/yushui1995/p/10944707.html
Copyright © 2011-2022 走看看