1. 查看系统支持的shell: cat  /etc/shells
  2. 查看当前系统用的shell: echo $SHELL
  3. 从bash切换到zsh: 先yum安装,然后 chsh -s /bin/zsh ,退出重新登录即可(chsh -s 实际上是修改了/etc/passwd文件)
  4. env和export显示的环境变量
  5. set和declare显示的环境变量和自定义变量
  6. 指定PATH变量: export PATH=$PATH:/home/roc
  7. 有export则指定的是环境变量,没有export 的是指定自定义变量
  8. 在子进程中自定义变量无效的
  9. 从键盘输入自带提示语:
    1. read -p "please input your name and place:"
      echo "welcome $REPLY"  $REPLY变量输出结果

    2. #!/bin/bash
      if read -t 5 -p "please input your name and place:" name
      then
      echo "welcome $name"
      else
      echo "sorry,too slow"
      fi
      exit 0  #用-t设置超时时间,在read语句后面添加变量来接受输入

    3.  if read -s -p "please input your name and place:" name    # -s用来输入密码

    4. exec 3< c.txt
      count=0
      while read -u 3 var
      do
      let count=$count+1
      echo "Line $count:$var"
      done
      echo "finished"
      echo "Line no is $count" #从文件读入

    5. #!/bin/bash
      count=0
      cat c.txt | while read line
      do
      echo "Line $count:$line"
      let count=$count+1
      done
      echo "finiished"
      echo "Line no is $count"
      exit 0  #这种方法的结果是返回1 ,因为管道的两边一般需要新建进程,当执行完while后,新进程结束,当脚本执行结束后,输出的count是原来进程中的count,而不是while中的count了

    6. #!/bin/bash
      count=0
      while read line
      do
      let count=count+1
      echo "Line $count:$line"
      done< c.txt
      echo "finished"
      echo "Line no is $count"    #使用重定向技术可以避免像上一个脚本在循环中又新建变量的问题


  • scp -r root@43.224.34.73:/home/lk /root  # 将远端的文件夹下载到本地的/root
  • scp local_file remote_username@remote_ip:remote_file # 从本地复制到远程
  • nohup ./a.out &
    1. ./a.out &:用ctrl+c的话照样运行,但是断开远程终端就停止,nohup ./a.out:按ctrl+c会停止,但是关了终端仍然运行
    2. nohup ./a.out &  :ctrl+c和关闭终端都可以运行,类似于守护进程

  1.  alias vi='vim'  #如果起的别名和原来的命令重复则shelll默认使用别名,如果想使用原来的命令则通过/bin/vi这样的形式使用
  2.  #!/bin/bash --login 用这行代替/bin/bash可以使用系统中的别名,加上--login的作用是使shell称为一个login shell,可以读取用户的profile和rc文件
  3.  !15 #打开history命令后执行需要的命令
  4. 防止密码被保存到history的方法: 
    1.  export HISTCONTROL=ignorespace
    2.  输入重要命令功能的时候在前面加一个空格
    3. 在输入命令前输入export=HISTINGNORE=*
    4. 在输入命令结束后再次输入exprot=HISTINGNORE=
  5.   xargs #将echo作为自己的标准输入,eg: echo a.txt | cat #则会读取a.txt的内容
  6. file -i a.txt #a.txt: text/plain; charset=us-ascii
  • 列出了MIME类型:用来标记文件打开方式
  • 超文本标记语言文本 .html,.html text/html 
      普通文本 .txt text/plain 
      GIF图形 .gif image/gif 
      JPEG图形 .jpeg,.jpg image/jpeg 
      .pdf     application/pdf
      GZIP文件 .gz application/x-gzip 
      TAR文件 .tar application/x-tar

  • file -f a.txt  #用于输出文件列表的文件类型
  • find test a b c d -name a.txt  #在几个文件夹之间查找
  • find . -type f -mmin -5 # 5分钟以内有哪些文件被修改过
  • find . -type f -mmin +5  # 5分钟之前有哪些文件修改过
  • find . -type f -size +1M  -exec ls -al {} \;   #查找大于1M的文件
    • +1M #大于1M
    • -1M  # 小于1M
    • 1M #等于1M
    •   还有k,G
  •  find / -maxdepth 1 #搜索深度为1
  • find . -type f -a -name "aa" # 查找文件,文件名为aa

  


  1. du -sh #列出当前文件夹的占用量
  2. du -ah # 列出每个文件和文件夹的使用量
  3. du -ah | sort -hr #列出大文件
  4. du显示的是一个blok的大小,ls显示的是实际大小

echo的用法:

  单引号无视所有特殊字符,所有字符都是普通的字符

   双引号识别 $  \  和`

grep用法

  grep -n root /etc/passwd # 将含有root的行找出来并加上行号

grep查找前和后相邻行:

  After1行 :grep -A 1 root /etc/passwd

  Before1行: grep -B 1 root /etc/passwd

  前后1 行: grep -C 1 root /etc/passwd

不区分大小写: grep -i "aa" /etc/passwd

找词: grep  -w "bin"  /etc/passwd

egrep '^root | bash$' /etc/passwd


sed命令用法:

head -n /etc/passwd | sed 's/:.*$//' #替换冒号后面的值

cat /etc/passwd | sed -n '10,20p' # 打印10到20行的内容

cat /etc/passwd | sed '/^[r]/s/o/AA/g'  # 把r开头的行中的o替换为AA

# /AA/s/BB/CC/g  匹配文件中带有AA的行,并且将所有BB替换成CC

 cat mytext.txt | sed 's/Bei/&2008/'  # &为在后面拼接 eg: Beijing ----Bei2008jing

cat mytext.txt | sed 'y/ei/ie/' #将Beijing替换成Biejing

sed '/200[4-6]/w new.txt' mytext.txt #把筛选结果写入新的文件中


awk用法:

  awk 'NR%2==0 {next} {print NR,$0}' input.txt # 打印奇数行

  awk '{print $0 }' input.txt test.txt  #两个文件一起输出

  awk 'NR=FNR&&FNR==1 {print FILENAME,$0} NR>FNR&&FNR==8 {print FILENAME,$0}' my,txt test.txt #将第一个文件的第一行数据和第二个文件的第八行数据还有文件名输出

 


cut的用法:

  who | cut -b 3 # 获取每行的第三个字节

  who | cut -b 8,3-5 # 获取每行第八,三到五个字节,顺序按照文本的顺序,所以和3-5,8等价

  cat /etc/passwd | head -n 5 | cut -d : -f 1 # -d:指定分隔符 -d:指定第一个域

  cat /etc/passwd | head -n 5 | cut -d : -f 1-2 # -d:指定分隔符 -d:指定第一到第二个域

  cat /etc/passwd | head -n 5 | cut -d : -f 1-2 # -d:指定分隔符 -d:开头到第二个域

cat test.txt | cut -d ' ' -f 1 # 以空格为分隔符

split -b 400M a.txt # 拆分成400Mb的文件

    cat xaa xab > a.txt # 合并文件

md5sum b.txt # 检查合并后的文件是否完整

split -b 400M a.tx b_   #指定前缀的拆分

split -b 400M  -d a.tx b_   #-d 指定数字的拆分

split -d -10 c.txt bb_ # -10:指定每10行拆分

md5sum b.txt # 检查合并后的文件是否完整

 sort用法:

  -u:消除重复

  -r:倒序

  sort -r number.txt -o number.txt # 保存到原文件

  -n: 按照数值来排序而不是ascii码


vim用法:

%s/abc/xyz/g  # 全文替换字符串abc为xyz

%s/\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\)/'\1'/g   # 把2001-01-01 变成 '2001-01-01'


des解密:

openssl enc -des3 -d  -in passwd.des3 -out passwd.txt  

des加密:

openssl enc -des3 -k 123 -in mysed.txt -out passwd.des3  #123为密码

   

  

  

  

  

Linux大棚命令记录的更多相关文章

  1. 《Linux大棚命令百篇下》网络篇的总结

    本文是<Linux大棚命令百篇下>网络篇的总结 ping -c 指定数量,在windows下会自动停止,linux下会一直ping下去 -q 简短报告 -s 指定每次ping的数据包大小, ...

  2. Linux常用命令记录

    产用Linux命令 cat /proc/partitions //查看系统分区情况 fdisk -l /dev/sdb //查看磁盘物理存储 mount /dev/目录 /mnt/目录 //挂载文件 ...

  3. 【原创】Linux常用命令记录

    1. 查看网络状态分布 #!/bin/sh netstat -apn >/dev/ \ | awk 'BEGIN {printf("%-15s%-15s%-15s%-15s\n&quo ...

  4. linux 常用命令记录&& xsheel 使用记录

    cp -r x1 x2                     复制文件x1到x2 ls                                   当前目录下的文件列表 ll         ...

  5. linux 相关命令记录

    NetworkManager关闭及禁用 关闭:systemctl stop NetworkManager 禁用:systemctl disable NetworkManager 查看日志:journa ...

  6. Linux 常用命令记录(学习笔记)

    不同机器间文件传输(转自:http://www.zhimengzhe.com/mac/323324.html) scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件 ...

  7. Linux使用命令记录

    1.对一个文件夹中所有的文件进行修改权限: • chmod –R 777 aa (- R 递归式改变指定目录及其所目录文件拥者) • 目录/his及其所文件目录,chown - R www.www / ...

  8. 【开发记录】Linux常用命令记录(一)【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  9. 【开发记录】Linux常用命令记录(一)

    记录CentOS下,常用的命令.有时候很难记得清楚,同时方便新来的同学查阅.(将不停的追加和完善) 1)查看CPU情况 cat /proc/cpuinfo |grep "model name ...

随机推荐

  1. 用Python做股市数据分析(二)

    本文由 伯乐在线 - 小米云豆粥 翻译.未经许可,禁止转载!英文出处:Curtis Miller.欢迎加入翻译组. 这篇博文是用Python分析股市数据系列两部中的第二部,内容基于我在犹他大学 数学3 ...

  2. 【hexo】02完成本地创建

    获得一个github账号并创建repo,命名为yourname.github.io 搭桥到github 配置github账户信息(YourName和YourEail都替换成你自己的): 网站部署 $ ...

  3. 3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取

    目录 目录: (一)以文本形式存取 1.说明: 2.语法解释: 3.实例(以.csv文件为例) 4.效果展示 (二)以任意的形式存取 1.说明: 2.语法解释: 3.实例(以.bat二进制文件为例) ...

  4. python学习--Django虚拟环境搭建

    一 . 为什么选择搭建虚拟环境 搭建一个只对本次项目有用的虚拟环境,而不影响主环境 二 . 安装前准备 #    1. 安装 python #    2. 安装virtualenvwrapper #  ...

  5. Linux 小知识翻译 - 「虚拟化技术」

    这次聊聊「虚拟化技术」. 虚拟化技术,有时简称为「虚拟化」,最近经常听人说它.但是却不太清楚它的意思.到底虚拟了什么东西?本来是用来干什么的? 有名的虚拟化软件要数 VMware 和 VirtualB ...

  6. 从研发到市场,一个C#程序员半年神奇之旅

    序 距离上次在博客园发布文章已经过了大约有一年了,由于最近一系列神奇的际遇,让我非常强烈意愿的提起笔来给大家描述我最近一段时间的经历,希望大家根据我的经历做一些参考,我尽量写的逻辑通顺,如果各位兄弟阅 ...

  7. centos 上安装phpstorm

    phpstorm在centos上运行依赖JDK,所以先安装JDK环境. 假如是centos自带的openjdk,直接卸载,不支持phpstorm. 下载jdk-7u45-linux-i586.tar. ...

  8. 玩转FusionCharts:Y轴数字形式(如去掉K)

    玩转FusionCharts:Y轴数字形式(如去掉K) 如果运行FusionCharts带的例子,你会发现FusionCharts表中的数字(通常是Y轴)会带上’k’,也就是如20000,会变成20k ...

  9. UOJ 【UR #5】怎样跑得更快

    [UOJ#62]怎样跑得更快 题面 这个题让人有高斯消元的冲动,但肯定是不行的. 这个题算是莫比乌斯反演的一个非常巧妙的应用(不看题解不会做). 套路1: 因为\(b(i)\)能表达成一系列\(x(i ...

  10. 使用hint优化Oracle的运行计划 以及 SQL Tune Advisor的使用

    背景: 某表忽然出现查询很缓慢的情况.cost 100+ 秒以上:严重影响生产. 原SQL: explain plan for select * from ( select ID id,RET_NO ...