Linux的基本操作

文件权限与目录配置

各个权限的分数如下:

  • r:4
  • w:2
  • x:1

所以修改权限就有两种方法:

  • 第一种就是利用chmod命令
    例如chmod -r 740 test.txt就是让拥有者有rwx权限,组有r权限,other没有权限。
  • 或者用直接赋予权限命令, chmod u=rwx,go=rx .bashrc

但是如果有w权限,并不意味着可以删除此文件,删除的权限是赋予在目录上的。

目录权限

  • drwxr-xr-x解释:

    • d :第一位表示文件类型,d是目录文件、l是链接文件、-是普通文件、p是管道

    • rwx :第2-4位表示这个文件的属主拥有的权限。r是读、w是写、x是执行

    • r-x :第5-7位表示和这个文件属主所在同一个组的用户所具有的权限

    • r-x :第8-10位表示其他用户所具有的权限

    比如:
    drwxr-xr-x 4 oracle dba 4096 May 20 11:47 oralog1
    表示oralog1是个目录,oracle拥有读写执行的权限,和oracle所在同一个dba组里的用户拥有只读和执行权限,剩下其他用户拥有只读和执行权限!

如果有个目录的权限为:drwxr--r-- 3 root root 4096 jun 23 09:23 .ssh

系统有个账号vbird,这个账号对目录仅有r的权限但是只能查看文件列表,不能切换到这个目录下。所以在建设网站的时候,至少要给rx权限。

文件默认权限 umask

  • 作用

    umask命令指定在建立文件时预设的权限掩码。

    umask可用来设定[权限掩码]。
    [权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

  • 语法

    umask [-S][权限掩码]

  • 参数说明:

    -S  以文字的方式来表示权限掩码。

    0022 第一个数是特殊权限,后面三个数代表去掉的权限,2说明去掉了w权限。

数据流重定向

  • 标准输入(stdin):代码为0,使用<或<<
  • 标准输出(stdout):代码为1,使用>或>>
  • 标准错误输出(stderr):代码位2,使用2>或 2>>

stdout和stderr

find /home -name .bashrc > list_righ 2> list_error

但是如果想让正确和错误输入到同一个文件中

  • find /home -name .bashrc > list 2> list 错误
  • find /home -name .bashrc >list 2>&1 正确
  • find /home -name .bashrc &> list 正确

/dev/null 是类Unix系统中的一个特殊文件设备,他的作用是接受一切输入它的数据并丢弃这些数据。通常被当做垃圾桶来用。将输出流重定向到它上面,就是丢弃这个输出流上的所有输出。尝试从/dev/null读取数据,会立刻得到一个EOF。

cat命令

  • 作用

    cat 命令用于连接文件并打印到标准输出设备上。

  • 语法格式

    cat [-AbeEnstTuv] [–help] [–version] fileName

  • 参数说明:

    • -n 或 --number:由 1 开始对所有输出的行数编号。

    • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

    • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

    • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

    • -E 或 --show-ends : 在每行结束处显示 $。

    • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。

    • -A, --show-all:等价于 -vET。

    • -e:等价于"-vE"选项;

    • -t:等价于"-vT"选项;

stdin

  • <将需要键盘输入的数据改由文件替代

    cat > catfile < ./bashrc: 意思是./bashrc里面的内容当做输入传入catfile

  • <<代表输入结束的意思

    cat > catfile << “eof”:意思是当输入eof的时候,则会结束输入

命令的执行

没有相关性的连续执行:用分号进行分割 sync; sync; shutdown;如果有相关性的 则用 && 或 ||

  • command1 && command2如果命令1执行错误,则不会执行2,如果命令1执行正确,则开始执行命令2.

  • command1 || command2如果命令1执行错误,则开始执行2,如果命令1执行正确,则不会执行命令2.

选取命令cut、grep

  • cut是将一段信息的某一段切出来,处理信息的单位是“行”为单位。
    cut -d '分割字符' -f fields
    cut -c 字符范围
    ubuntu@VM-13-35-ubuntu:~$ echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr:local/games
    ubuntu@VM-13-35-ubuntu:~$ echo $PATH | cut -d ':' -f 4
    /usr/bin
    
  • grep是分析一行的信息,如果有目标信息,就拿出来。
    last | grep 'root' #将出现root的行打印出来
    last | grep -v 'root' #没有出现root的行打印出来
    
  • wc用来统计输出信息的整体信息。
    wc -lwm
    -l: 仅列出行
    -w: 仅列出多少字
    -m:多少字符
    

循环执行命令

  • crontab

    crontab是linux系统或unix系统中常用的定时命令,使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux/unix命令

    • crontab 文件的格式:

      {minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}

      • minute: 区间为 0 – 59
      • hour: 区间为0 – 23
      • day-of-month: 区间为0 – 31
      • month: 区间为1 – 12. 1 是1月. 12是12月.
      • Day-of-week: 区间为0 – 7. 周日可以是0或7.
    • Crontab 选项

      • crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
      • crontab –l : 显示 crontab 文件。
      • crontab -r : 删除 crontab 文件。
      • crontab -ir : 删除 crontab 文件前提醒用户。
    • Crontab 示例

    1. 在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。

      1 0 * * * /root/bin/backup.sh

    2. 每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。

      59 11 * * 1,2,3,4,5 /root/bin/backup.sh

      下面例子与上面的例子效果一样:

      59 11 * * 1-5 /root/bin/backup.sh

    3. 每5分钟运行一次命令

      */5 * * * * /root/bin/check-status.sh

    4. 每个月的第一天 1:10 p.m 运行

      10 13 1 * * /root/bin/full-backup.sh

    5. 每个工作日 11 p.m 运行。

      0 23 * * 1-5 /root/bin/incremental-backup.sh

    • 特殊符号

      • * 星号 代表任何时刻

      • 逗号 代表分割时间 0 3,6 * * * command 代表 每天的3点和6点

      • - 减号 代表时间范围

      • /n 斜线 代表间隔,每隔n单位时间的意思

工作管理

  • 直接将命令丢到后台中“执行”的\&

    tar -zpcf /tmp/tec.tar.gz /etc &
    但是当出错或者输出时,将会扰乱当前界面,最好像输出重定向到某个文件。
    tar -zvcf /tmp/etc.tar.gz /etc > /tmp/log.txt 2>&1 &
    这样就不会有多余信息输出到当前界面了。

  • 将目前的工作丢到后台“暂停”: [ctrl]-z

    例如在vim编辑状态,想跳出查找某个文件,则可以按ctrl+z将vim暂停放入后台。

  • 查看目前后台的工作状态:jobs

    jobs输出目前后台的工作状态。

  • 将后台的工作拿到前台来 fg

    fg %jobnumber或者fg直接默认取出+号工作

  • 将工作在后台的状态变成运行中:bg

    bg %jobnumer

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值