TLCL学习总结

来源:互联网 发布:影片剪辑软件 编辑:程序博客网 时间:2024/06/06 01:27

学习 shell

文件系统中跳转

  • pwd — 打印出当前工作目录名

  • cd — 更改目录

  • ls — 列出目录内容

    ls -l 长格式输出

探究操作系统

  • file — 确定文件类型

    file filename

  • less/more — 浏览文件内容

    less filename
    more filename

操作文件和目录

  • cp — 复制文件和目录

    复制单个项目item1到项目item2:cp item1 item2
    复制多个项目到同一目录下:cp item… directory

  • mv — 移动/重命名文件和目录

    重命名:mv item1 item2
    移动:mv item… directory

  • mkdir — 创建目录

    mkdir directory…

  • rm — 删除文件和目录

    rm item…

  • ln — 创建硬链接和符号链接

    硬链接是指向文件inode的指针。
    符号链接类似二级指针,指向指向文件inode的inode。弥补了硬链接的两个局限性:硬链接不能跨越物理设备, 硬链接不能关联目录。
    PS:对于符号链接,执行的大多数文件操作是针对链接的对象,而不是链接本身。但rm 命令删除链接本身,而不是链接的对象。

    创建硬链接:ln file linkname
    创建符号链接:ln -s item linkname

重定向

重定向详解

从 shell 眼中看世界

  • echo - 显示一行文本

    echo 将它的文本参数打印到标准输出中。

  • 字符展开

    字符展开详解

键盘高级操作技巧

  • clear - 清空屏幕

  • history - 显示历史列表内容

权限

  • id – 显示用户身份号

  • chmod – 更改文件模式

  • umask – 设置默认的文件权限

    umask 4位八进制数字
    初始权限是 — rw- rw- rw-
    掩码中出现一个1则屏蔽掉相应权限,比如0002,则结果为 — rw- rw- r–

  • su – 改变用户ID或成为ROOT

    su username
    su 只取得ROOT的权限
    su - 以root身份启动shell,取得ROOT的权限后还执行ROOT的PROFILE来取得ROOT的环境变量

  • sudo – 以另一个用户的身份来执行命令

    使用 sudo 命令时,用户本身而不是root密码来认证
    如果当前用户无法使用sudo,则在 /etc/sudoers 文件中的 root ALL=(ALL:ALL) ALL 行下面添加一行 username ALL=(ALL) ALL

  • chown – 更改文件Owner

    chown ownername item

  • chgrp – 更改文件的Group

    chgrp groupname item

  • passwd – 更改用户密码

    passwd username

  • adduser – 新建用户

    adduesr username
    adduser在/home目录下会自动创建同名文件夹

  • useradd – 新建用户

    uesradd username
    useradd只是创建了一个用户名,并没有在/home目录下创建同名文件夹,也没有创建密码。

  • groupadd – 新建组

    groupadd groupname

    新建用户到一个组中:

    groupadd newgroup
    useradd -g newgroup testusr
    passwd testusr

更多有关权限的内容参考

进程

  • ps(Process Status) – 报告当前进程快照

    ps -e 展示所有进程
    ps aux 显示属于每个用户的进程信息

  • top – 显示任务

    动态地显示进程的信息

  • jobs – 列出活跃的任务

    列出从终端中启动的任务

  • bg – 把一个任务放到后台执行

    bg %工作序号(即jobspec)

  • fg – 把一个任务放到前台执行

    fg %工作序号(即jobspec)

  • kill – 给一个进程发送信号

    使用格式:kill [-signal] PID…
    kill -l 得到一个完整的信号列表

  • killall – 给多个进程发送信号

    killall 命令给匹配特定程序或用户名的多个进程发送信号。
    killall [-u user] [-signal] name…

  • shutdown – 关机或重启系统

    关机: sudo shutdown -h now


配置文件和 shell 环境

shell 环境

  • printenv - 打印部分或所有的环境变量

    printenv varname
    若没有参数制定,则显示所有环境变量

  • set - 设置 shell 选项

    当使用不带参数的set命令时,shell 和环境变量都会显示,同时也会显示定义的 shell 函数。

  • export — 导出环境变量,让随后执行的程序知道。

    export PATH
    export 命令告诉 shell 让这个 shell 的子进程可以使用 PATH 变量的内容。

  • alias - 创建命令别名

    alias ll=’ls -alF’

shell环境详解


常见任务和基本工具

软件包管理

两大包管理技术阵营: Debian 的”.deb”,和 redhat 的”.rpm”。

  • 上层包管理工具

    apt-get, aptitude, yum

  • 底层包管理工具

    dpkg, rpm

软件包管理系统的介绍
软件包管理常用指令

存储媒介

  • mount – 挂载一个文件系统

    mount /dev/hdb4 /mnt/disk 挂载设备/dev/hdb4到目录/mnt/disk
    不带参数的mount指令查看当前挂载的文件系统列表

  • umount – 卸载一个文件系统

    umount /dev/hdb4 卸载设备/dev/hdb4

  • fsck – 检查和修复文件系统(file system check)

    检查设备/dev/sdb4 sudo fsck /dev/sdb4

  • fdisk – 分区表操作器

    操作设备/dev/sdb4 sudo fdisk /dev/sdb4
    输入 m显示命令菜单

  • mkfs – 创建文件系统

    给设备创建文件系统前,需要使用fdformat命令对设备格式化。
    sudo mkfs -t msdos /dev/fd0 给软盘/dev/fd0创建msdos文件系统

  • fdformat – 格式化一张软盘

    sudo fdformat /dev/sdb4 格式化设备/dev/sbb4

  • dd — 把面向块的数据直接写入设备

    dd if=/dev/sdb of=/dev/sdc 把/dev/sdb中的所有数据复制到/dev/sdc中

    dd if=/dev/sdb of=flash_drive.img 把/dev/sdb中的数据保存为flash_drive.img

    dd if=/dev/cdrom of=ubuntu.iso 创建一个 CD-ROM(/dev/cdrom) 的映像拷贝为ubuntu.ios

  • genisoimage (mkisofs) – 创建一个 ISO 9660的映像文件

    genisoimage -o cd-rom.iso -R -J ~/cd-rom-files 将~/cd-rom-files/中的文件创建为cd-rom.iso 映像文件
    "-R" 选项添加元数据为 Rock Ridge 扩展,这允许使用长文件名和 POSIX 风格的文件权限
    "-J" 选项使 Joliet 扩展生效,这样 Windows 中就支持长文件名了。

  • wodim (cdrecord) – 把数据写入光存储媒介

    wodim dev=/dev/cdrw blank=fast 清除一张可重写入的 CD-ROM,参数为设备名称和清空的类型

    wodim dev=/dev/cdrw image.iso 写入镜像

  • md5sum – 计算 MD5检验码

    md5sum image.iso

网络系统

  • ping - 检查网络是否连通

    ping 命令发送一个特殊的网络数据包,叫做 ICMP ECHO_REQUEST,到 一台指定的主机。大多数接收这个包的网络设备将会回复它,来允许网络连接验证。

    ping www.google.com.hk

  • traceroute - 显示ip数据报从本地到指定主机的路径

    traceroute从源主机向目的主机发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据包.通过增加数据报的TTL的方式来得到路径.

    traceroute www.baidu.com
    对于那些没有提供标识信息的路由器(由于路由器配置,网络拥塞,防火墙等 方面的原因)会显示*号.

  • netstat - 打印Linux网络子系统的信息

    netstat -ie 查看系统中的网络接口
    netstat -r “显示网络路由表

  • ftp - 因特网文件传输程序

    ftp详解

  • wget - 非交互式网络下载器

    wget 不只能下载单个文件,多个文件,甚至整个网站都能下载.
    wget http://linuxcommand.org/index.php 下载网站

  • ssh - OpenSSH SSH 客户端(远程登录程序)

    ssh详解

查找文件

  • locate – 通过名字来查找文件

    locate 程序快速搜索路径名数据库,并且输出每个与给定字符串相匹配的文件名。

    locate bin/zip 输出所有包含字符串”bin/zip”的路径名

    locate 数据库由另一个叫做 updatedb 的程序创建,updatedb程序周期性执行。所以数据库不能被持续地更新,从而当使用 locate 时,最新的文件可能不会出现。
    用户可以手动执行 sudo updatedb 来更新locate数据库

  • find – 在目录层次结构中搜索文件

    find命令详解

  • xargs – 从标准输入生成和执行命令行

    xargs 命令从标准输入接受输入,并把输入转换为一个指定命令的参数列表

    find ~ -type f -name ‘foo*’ -print | xargs ls -l find 
    命令的输出被管道到 xargs 命令,然后xargs 会为 ls 命令构建 参数列表,然后执行 ls 命令。

  • touch – 更改文件时间

    touch 命令通常被用来设置或更新文件的访问,更改,和修改时间。然而,如果一个文件名参数是一个 不存在的文件,则会创建一个空文件。

  • stat – 显示文件或文件系统状态

    stat是一款加大马力的 ls 命令版本,它会展示系统对 某个文件及其属性所知道的所有信息。

归档和备份

  • gzip – 压缩或者展开文件

  • bzip2 – 块排序文件压缩器

  • tar – 磁带打包工具

  • zip – 打包和压缩文件

  • rsync – 同步远端文件和目录

归档和备份及相关命令详解

正则表达式

正则表达式详解

文本处理

  • cat – 连接文件并且打印到标准输出

    -A 选项用来在文本中显示非打印字符

    cat > foo.txtThe quicj brown fox jumped over the lazy dog.^Ccat -A foo.txt ^IThe quicj brown fox jumped over the lazy dog.$^I 表示tab$  表示换行

    -n 选项用来给文本行添加行号
    -s 选项禁止输出多个空白行

    cat > foo.txtThe quick brown foxjumped over the lazy dog.^Ccat -ns foo.txt  1  The quick brown fox 2   3  jumped over the lazy dog.
  • sort – 给文本行排序

    sort 程序对标准输入的内容,或命令行中指定的一个或多个文件进行排序,然后把排序结果发送到标准输出。

    sort 选项
    这里写图片描述

  • uniq – 报告或者省略重复行

    当给定一个 排好序的文件(包括标准输出),uniq 会删除任意重复行,并且把结果发送到标准输出。 它常常和 sort 程序一块使用,来清理重复的输出。

    uniq选项
    这里写图片描述

  • cut – 从每行中删除文本区域

    cut 程序被用来从文本行中抽取文本,并把其输出到标准输出。它能够接受多个文件参数或者标准输入。

    cut程序选项
    这里写图片描述

  • paste – 合并文件文本行

    paste 读取多个文件,然后把每个文件中的字段整合成单个文本流,输入到标准输出。类似于 cut 命令, paste 接受多个文件参数和 / 或标准输入。

  • join – 基于某个共享字段来联合两个文件的文本行

  • comm – 逐行比较两个有序的文件

  • diff – 逐行比较文件

  • patch – 给原始文件打补丁

  • tr – 翻译或删除字符

  • sed – 用于筛选和转换文本的流编辑器

    sed 详解

  • aspell – 交互式拼写检查器

格式化输出

  • nl – 添加行号

  • fold – 限制文件列宽

  • fmt – 一个简单的文本格式转换器

  • pr – 让文本为打印做好准备

  • printf – 格式化数据并打印出来

  • groff – 一个文件格式系统

打印

  • pr —— 转换需要打印的文本文件

  • lpr —— 打印文件

  • lp —— 打印文件(System V)

  • a2ps —— 为 PostScript 打印机格式化文件

  • lpstat —— 显示打印机状态信息

  • lpq —— 显示打印机队列状态

  • lprm —— 取消打印任务

  • cancel —— 取消打印任务(System V)

编译程序

  • make - 维护程序的工具

学习来源:http://billie66.github.io/TLCL/book/

1 1