您的位置:首页 > 运维架构 > Linux

TLCL学习总结

2016-01-05 17:04 316 查看

学习 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.txt
The quicj brown fox jumped over the lazy dog.
^C
cat -A foo.txt
^IThe quicj brown fox jumped over the lazy dog.$
^I 表示tab
$  表示换行


-n 选项用来给文本行添加行号

-s 选项禁止输出多个空白行

cat > foo.txt
The quick brown fox

jumped over the lazy dog.
^C
cat -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/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux