The Linux Command Line 笔记(未完)

Chap 4 研究操作系统

  • command -options arguments (大多数命令格式)
    • ⚠️ 短选项 -a, 长选项 --all
    • ⚠️ 可以同时写两个options , ls -ls (长格式 + 按照文件大小排序)
  • file filename -确定文件类型
  • less filename -浏览文件内容
  • 符号链接/硬链接

Chap 5 操作文件和目录

  • 常用命令
    • cp - 复制文件
      • cp -u *.html destination
      • -a, --archive
      • -i, --interactive
      • -r, --recursive
      • -u, --update
      • -v, verbose
    • mv - 移动/重命名
      • -i, --interactive
      • -u, --update
      • -v, --verbose
    • mkdir directory
      • mkdir dir1 (dir2 dir3)
    • rm
      • -i, --interactive
      • -r, --recursive
      • -f, --force
      • -v, --verbose
    • ln 创建硬链接/符号链接
      • 符号:ln file link
      • 硬链接:ln -s item link
  • 通配符
      • -任意多个
    • ? -任意一个
    • [characters]
    • [!characters]
    • [[:class:]] -匹配任意一个属于制定字符类中的字符
      • [:alnum:] -匹配任意字母或数字
      • [:alpha:] -任意字母
      • [:digit:] -任意数字
      • [:lower:]
      • [:upper:]
      • [[:upper:]]* 以大写字母开头的
      • [![:digit:]]* 不以数字开头的
      • *[[:lower:]123] 文件名以小写字母结尾,或以 “1”,“2”,或 “3” 结尾的文件

Chap 6 使用命令

  • 常用命令
    • type - 命令形式
      • 什么是命令?
        • 是一个可执行程序
        • 内建于 shell 自身的命令,builtins
        • shell函数
        • 命令别名
      • type command
    • which -显示当前可执行程序的位置,不能是内部命令/命令别名
    • man -显示程序手册
      • man section search_term
        • 1 -用户命令
        • 2 -程序借口内核系统调用
        • 3 -C库函数程序接口
        • 4 -特殊文件
        • 5 -文件格式
        • 6 -游戏娱乐
        • 7 -其他方面
        • 8 -系统管理员命令
    • apropos -显示适当的命令
    • info - 显示程序 Info 条目
    • whatis -非常简洁的命令说明
    • alias - 别名
      • alias name='string'
      • command1; command2; command3... 可以把多个命令放在同一行上,命令之间 用”;”分开
      • eg
        • alias foo = 'cd /usr ; ls'
        • unalias foo
    • help - 提供shell内部命令帮助文档
    • --help -显示用法信息

Chap 7 重定向

  • 命令
    • 管道线 |
      • command 1 | command 2
    • cat (Ctrl - d)
      • cat ls-output.txt
      • cat > lazy_dog.txt
        • 键盘输入⌨️: The quick brown forx jumped over the lazy dog.
      • cat < lazy_dog.txt
        • txt文件作为输入
    • sort -排序
    • uniq -删除重复行
      • uniq -d 可看到重复列表
    • gerp -打印匹配行
      • grep pattern
        • eg: ls /bin /usr/bin | sort | uniq | grep zip
        • -i 忽略大小写
        • -v 只打印不匹配的行
      • 正则表达式
    • wc -打印行,字,字节数 (word count)
      • wc -l 只显示行数
    • head/tail -打印文件开头部分/结尾部分
      • 默认情况下10行
      • head/tail -n 5 ls-output.txt
      • tial -f 实时监控文件,直到ctrl-c
    • tee -从标准输入(stdin)读取数据并输出(stdout)到标准输出和文件
      • ls /usr/bin | tee ls.txt | grep zip
  • I/O重定向允许我们可以更改输出走向和输入来向
    • 一般地,输出 ->屏幕,
    • 输入来自键盘,
    • 但是通过 I/O 重定向,我们可以改变输入输出方向
  • > 或者 >> 重定向符号
    • 覆盖写入 >
      • ls -l /usr/bin > ls-output.txt
        • less ls-output.txt
      • > ls-output.txt 写入空白
    • 追加写入 >>
      • ls -l /usr/bin >> ls-output.txt
    • 重定向标准错误
      • ls -l /bin/usr 2> ls-error.txt
    • 重定向标准输出和标准错误到同一个文件
      • ls -l /bin/usr > ls-output.txt 2>&1
      • ls -l /bin/usr &> ls-output.txt
    • 处理不需要的输出
      • ls -l /bin/usr 2> /dev/null

Chap 8 从shell眼中看世界

  • echo -显示一行文本
    • *
      • echo * == ls
      • echo .* 仅显示隐藏文件
      • echo /usr/*/share
    • ~
      • echo ~ (home路径)
    • 算术表达式 $((expression))
      • echo $((2+2)
    • {} -乘法原理
      • [me@linuxbox ~]$ echo Front-{A,B,C}-Back Front-A-Back Front-B-Back Front-C-Back
    • 参数
      • echo $USER
  • 命令替换 - 允许把一个命令的输出作为一个展开模式来使用
    • echo $(ls) 或者 echo ls
    • ls -l $(which cp) 或者 ls -l which cp
    • "" 除了$ \ `之外,当作普通字符
      • echo $(cal)
      • echo "$(cal)"
    • ‘’ 所有的都当作普通字符

Chap 9 键盘高级操作技巧

  • 命令
    • clear
    • history -显示历史列表内容
      • 默认最后500个命令
      • history | grep /usr/bin
  • 移动光标
    • Ctrl-a -移到行首
    • Ctrl-e -移到行尾
  • 修改/剪切/粘贴文本
  • 自动补全 : tap

Chap 10 权限

  • Unix -多个用户可以在同一时间使用同一台计算机
  • 命令
    • id -显示用户身份号
    • chomod -更改文件模式
      • 只有文件所有者/超级用户才能修改
    • umask -设置默认权限
      • 0022 (八进制) -> 000 000 010 010
      • 二进制中数字1出现的位置,相对应的属性被删除
    • su -以其他用户身份和组ID运行一个shell
      • su [-[l]] [user]
      • su -c 'command'
        • 不启动一个新的可交互shell
        • 仅将命令结果传回当前shell
          • su -c 'ls -l /root/*'
    • sudo
      • su 和 sudo 之间的一个重要区别是 sudo 不会重新启动一个 shell,也不会加载另一个 用户的 shell 运行环境
    • chown - 更改文件所有者和用户组
      • 需要超级用户权限
      • chown [owner][:[group]] file...
        • sudo chomn tony: ~tony/myfile.txt
    • chgrp -更改用户组所有权
    • passwd -更改用户密码
      • passwd [user]
  • 读取写入执行
    • -rw-rw-r--
      • 第一位(5种)
        • -
        • d
        • l
        • c
        • b
      • 剩下九位读r/写w/执行x
        • 对应文件所有者、文件组所有者、其他人
        • 八进制
          • 000 ---
          • 001 --x
          • 010 -w-
          • 011 -wx
          • 100 r--
          • 101 r-x
          • 110 rw-
          • 111 rwx
        • 符号表示法
          • u -user
          • g -group
          • o -others
          • a -all
          • eg
            • u+x - user添加执行权限
            • -x -所有人都删除执行权限
            • o-rw
            • go=rw
  • 更改身份
    • 多重身份
      • 注销系统并以其他用户身份重新登陆系统
      • 使用su命令 (超级用户是# 不是$ )
      • 使用sudo命令

Chap 11 进程

  • 常用命令
    • ps
      • ps -列出与当前终端会话相关的进程
      • ps x -列出所有进程
      • ps aux -显示属于每个用户的进程信息
        • user -用户ID.进程所有者
        • %CPU -CPU使用率
        • %MEM -内存使用率
        • VSZ -虚拟内存大小
        • RSS -所占物理内存大小
        • START -起始时间
    • top 动态查看进程
    • jobs
    • bg -进程放到后台
      • 进程 &
    • fg -进程返回到前台
      • fg %1 (工作序号)
    • kill -停止一个进程
      • kill [-signal] PID
      • HUP 1 终端断线 INT 2 中断(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 终止 KILL 9 强制终止 CONT 18 继续(与STOP相反, fg/bg命令) STOP 19 暂停(同 Ctrl + Z)
    • killall
      • killall [-u user] [-signal] name
    • shutdown

Chap 12 shell 环境

  • 命令
    • printenv - 打印部分或所有环境变量
      • printenv USER
    • set
    • export
    • alias
  • 常用变量
    • DISPALY
    • EDITOR
    • HOME
      • echo $HOME
    • SHELL
    • LANG
    • OLD_PWD
    • PAGER
    • PATH
    • PS1
    • PWD
    • TERM
    • TZ
    • USER
  • 如何建立shell环境
    • 登陆shell会话的启动文件
      • /etc/profile - 应用于所有用户的全局配置脚本
      • ~/.bash_profile -用户私人的启动文件
      • ~/.bash_login -如果~/.bash_profile没找到,会读取该脚本
      • ~/.profile -如果/.bash_profile和/.bash_login没找到,会读取该脚本
    • 非登陆shell会话的启动文件
      • /etc/bash.bashrc -应用于所有用户的全局配置文件
      • ~/.bashrc -用户私有的启动文件
  • 文本编辑器
    • nano
      • nano .bashrc
      • Ctrl-o 保存修改
      • ctrl-x 退出修改
    • vi/vim
    • emacs
    • 备份文件
      • cp .bashrc .bashrc.bak
      • .bak, .sav, .old, .orig 是用来指示文件的流行方法
      • umask 0002 -设置掩码来解决共享目录的问题
      • export HISTCONTROL = ignoredups -忽略重复命令
      • export HITSIZE = 1000 -设置最大记录1000行,默认是500行

Chap 13 VI简介

  • vi -启动
    • :q 退出
    • :q! 强制退出
    • 两次 Esc 找到路
    • i 插入文本
    • f 查找一行
    • / 查找整个文件
    • :wq 保存修改
      Chap 14 自定制shell提示符
      Chap 15 软件包管理
  • apt-get

你可能感兴趣的:(The Linux Command Line 笔记(未完))