zoukankan      html  css  js  c++  java
  • Linux 笔记

    常见一级目录的作用:

    / 根目录
    /bin 存放必要的命令

    /sbin 存放系统管理程序 

    /boot 存放内核以及启动所需的文件等 

    /dev 存放设备文件
    /etc 存放系统的配置文件
    /home 用户文件的主目录,用户数据存放在其主目录中
    /lib 存放必要的运行库
    /mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
    /proc 存放存储进程和系统信息
    /root 超级用户的主目录
    /tmp 存放临时文件的目录
    /usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
    /var 包含系统产生的经常变化的文件

     

    常用命令:

    1. ls

      -l : 查看详细信息, 权限

      -h :  大小显示成M或者K。

      -d:只显示目录 。ls -d /etc

      -t: 按时间排序,倒叙排序

    2. mkdir

      -p : 递归建目录

    3. cp

      -a : 保持文件和复制的文件属性一模一样

    4. locate: 文件搜索命令。比find快。locate test.txt, 只能通过文件名搜索。

    5. whereis: 搜索系统命令所在位置。 whereis ls

    6. which: 与whereis命令很相似,他也可以查看系统命令的别名。

    7. find: 文件搜索命令。 find [搜索范围] [搜索条件]

    find /root -name install.log
    
    find /root -name "install.log*" # *代表任意字符
    
    find /root -iname install.log # 不区分大小写
    
    find /root -nouser # 查找没有所有者的文件 
    
    # -10 -> 10天内修改文件
    # 10  -> 第10天当天修改的文件
    # +10 -> 10天前修改的文件
    # atime -> 文件访问时间
    # ctime -> 改变文件属性的时间
    # mtime -> 修改文件时间
    find /var/log -mtime +10 #查找10天前修改的文件
    
    find . -size 25k # 查找文件大小是25k的文件, -25k是小于25K的文件,+25k是大于25K的文件 ,当然也可以查找M,G
    find . -inum 12345 # 查找inode节点为12345的文件
    find /etc -size +20k -a -size -50k # -a 代表and
    find /etc -size +20k -o -size -50k # -o 代表 or
    find /etc -size +20k -o -size -50k -exec ls -lh {} ; # -exec {} ; 这三个为固定的使用形式,表示将前面find的结果在执行ls -lh命令。

    8. grep: 字符串搜索命令

    grep "size" install.log #在install.log文件中查找包含size的行

    grep -v "size" install.log #在install.log文件中查找不包含size的行

    9.zip/tar: 压缩解压缩命令。

    zip test.zip test # zip 压缩文件名 源文件
    
    zip -r test.zip test # zip -r 压缩文件名 源目录名
    
    unzip test.zip # unzip 压缩文件
    
    tar -cvf test.tar test # tar -cvf 打包文件名 源文件
    
    tar -xvf test.tar # tar -xvf 解压缩

     10. set: 查询linux系统下所有的变量,包括环境变量和自定义的变量。还有个命令叫env,这个只会查询环境变量

      set -u: 执行这句话之后,调用未声明的变量会报错。

    11. unset: 删除变量。 unset 变量名

    12. ps: ps aux 或者ps -le  查看所有运行的进程

    13. top:查看系统健康状态

    14. kill -1 1234 ,平滑重启。 kill -9 1234, 强制终止。killall -9 httpd,

    通过RPM安装的服务一般配置在:

    /etc/init.d/:启动脚本位置

    /etc/sysconfig: 初始化环境配置文件位置

    /etc:配置文件位置

    service httpd status

    service httpd start/stop/status/restart

    Shell:

    linux命令解释器。

    vi hello.sh
    
    #!/bin/bash
    
    #First Program
    
    echo -e "this is a test. 
     hahaa" # -e 会将
    输出
    
    
    chmod +x hello.sh
    
    ./hello.sh

    输入输出重定向:

    /dev/stdin: 0 标准输入

    /dev/stdout: 1 标准输出

    /dev/stderr: 2 标准错误输出

    命令 > 文件: 覆盖形式,文件不存在则创建

    命令 >> 文件: 追加形式

    错误命令 2>文件:覆盖形式

    错误命令 2>>文件: 追加形式

    命令 > 文件 2>&1: 已覆盖形式,把正确输出和错误输出都保存到一个文件中。

    命令 >> 文件 2>&1: 以追加的方式,把正确输出和错误输出都保存到一个文件中。

    命令 &>文件: 已覆盖形式,把正确输出和错误输出都保存到一个文件中。

    命令 &>>文件: 以追加形式,把正确输出和错误输出都保存到一个文件中。

    命令 >> 文件1 2>>文件2: 正确输出到文件1,错误输出文件2.

    ls &>/dev/null : 垃圾站

    管道符:

    1.多命令顺序执行:

    1) 命令1 ; 命令2 -> 表示多个命令顺序执行,命令之间没有任何逻辑联系

    2) 命令1 && 命令2 -> 命令1正确执行才会执行2,命令1执行不正确,命令2不会执行

    3) 命令1 || 命令2 -> 命令1执行不正确的时候才会执行命令2

    ls && echo yes || echo no

    2.管道符: 

    命令1 | 命令2:命令1的正确输出结果作为命令2的输入对象

    netstat -an | grep ESTABLISHED

    通配符:

    1) ? ->匹配一个字符

    2)* -> 匹配0个或多个任意字符,也就是可以匹配任何内容

    3) [] -> 匹配中括号中的任意一个字符

    4)[-] -> -代表一个范围。

    5)[^] -> 表示不匹配括号中的任意一个字符

    ls test*

    bash中的其他特殊符号:

    单引号: 单引号中的所有特殊字符都没有特殊含义,原样输出,比如 $ 和 `

    双引号:双引号中的特殊符号都没有特殊含义,但是 $ , ` , 除外

    反引号: 反引号括起来的是系统命令,在Bash中会先执行它,和$()命令一样,不过推荐使用$()

    $(): 作用和反引号一样。

    #: 代表组注释

    $: 代表调用变量的值. $name , ${name}

    : 转义符

    Shell变量:

    Bash中,变量的默认类型都是字符串类型。

    1. 定义变量:变量名=变量值。等号左右两侧不能加空格,切记

    eg:

    x="$x"456 #变量叠加

    x=${x}456 #变量叠加

    2. 设置环境变量:export 变量名=变量值

    3. 位置参数变量

    $0代表命令本神,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,比如${10}. eg: ./test.sh 1 2

    $*代表所有的参数,将他们看为一个整体

    $@也代表所有的参数,不过将他们区分对待

    $#代表命令行中参数的个数

    4.预定义变量:

    $?代表上一条命令的返回值,正确执行的上一条命令返回值为0,不正确的返回非0

    $$表示当前进程的PID

    环境变量配置文件:

    1. source 配置文件或者 .  配置文件

    使用source可以不用重新登录。

    2. 配置文件:

    /etc/profile

    /etc/profile.d/*.sh

    ~/.bash_profile

    ~/.bahsrc

    /etc/bahsrc

     

    正则表达式和通配符: 通配符用来匹配文件名,正则表达式用来匹配文本。

    grep "a{3}u" a.txt

    字符截取命令:

    1. cut: -f 表示第几列,从1开始, -d代表分隔符,默认分割符为制表符。

    grep "^user*" a.txt | cut -f 1 -d ":"

    2. printf: 格式化输出命令

    3. awk

    4. sed: 字符替换命令。

    sed '2,4d' a.txt #表示删除a.txt中第二行到第四行之间的数据,行数是从1开始。这个只是临时修改,并没有改变原文件。

    sed '2c haa' a.txt # 表示将a.txt中的第二行替换为haa

    sed '2s/70/100/g' a.txt # 表示将a.txt中第二行中的70替换为100

    sed -i 's/70/100/g' a.txt # 表示将a.txt中所有的70替换为100,并将修改结果写回a.txt

    Linux权限:

    文件基本权限的修改:-rw-r--r--   u -g -o

    chmod [选项] 模式 文件名

    chmod u+x a.sh #给a.sh的所有者赋予执行权限

    chmod g+w,o+w b.sh 

    chmod u=rwx,g=rw a.sh

    chmod a=rwx a.sh

    chmod 755 a.sh #7-rwx-u,5-rw-g

    权限的作用:

    1)对于文件:

    r: 读取文件内容(cat more head tail)

    w:编辑,新增,修改(vi echo), 但是不包含删除文件。

    x: 可以执行文件(./s.sh)

    对文件来说,最高权限为x

    2)对于目录:

    r: 可以查寻目录下的文件名(ls) 

    w: 具有修改目录结构的权限。比如新建文件和目录,删除此目录下的文件(touch rm mv cp)

    x: 可以进去此目录(cd)

    对于目录来说,最高权限为w

    chown root:root a.txt

     

  • 相关阅读:
    多线程GCD
    根据UITouch 自定义手势
    KVC在数据解析中的应用
    oc 文件读写操作
    oc 字典应用实例-城市查询省份
    oc 字典应用实例-成绩科目排序
    oc 数组应用实例-验证码
    协议 protocol
    概念杂记
    OC 类的继承 方法重载重写
  • 原文地址:https://www.cnblogs.com/gogolee/p/6883708.html
Copyright © 2011-2022 走看看