三 章基本的bash shell命令
1.启动shell
GNU bash shell能提供对linux系统的交互式访问。它是作为常规程序运行的,通常是在用户登录终端时启动。登录时系统启动的shell依赖于用户账户的配置。
/etc/passwd文件包含了所有系统用户账户列表以及每个用户的基本配置信息。如下读取的样例条目:
每个条目有七个字段,字段之间用冒号分隔。系统使用字段中的数据来赋予用户账户某些特定特性。这些字段包括:
① 用户名;
② 用户密码(如果密码存储在其他文件中,则是个占位符)
③ 用户的系统UID(用户ID)
④ 用户的全名
⑤ 用户默认的宿主目录
⑥ 用户的默认主目录
⑦ 用户的默认shell
上面各字段含义将在以后的学习中深入讨论
多数linux系统在为用户启动命令行界面(command line interface,CLI)时采用默认的bash shell程序。Bash shell程序同样使用命令行参数来修改所启动shell的类型。
默认情况下,bash shell启动时会自动处理用户主目录下.bashrc文件中的命令。许多linux发行版在此文件中加载特殊的共用文件,在共用文件中保存着针对所有系统用户的命令和设置。通常该文件位于/etc/bashrc,它经常设置各种应用程序中用到的环境变量。
2.shell提示符
一旦启动了终端模拟包或者从linux控制台登陆,你句会看到shell命令行界面。界面上的提示符就是到shell世界的大门,通常在这里输入shell命令。
Bash shell提示符字符
字符  | 描述  | 
\a  | 报警字符  | 
\d  | “日月年”格式显示日期  | 
\e  | ASCII转义字符  | 
\h  | 本地主机名  | 
\H  | 完全限定域名(FQDN)  | 
\j  | Shell当前管理的任务数  | 
\l  | Shell的终端设备名中的基名  | 
\n  | ASCII换行符  | 
\r  | ASCII回车符  | 
\s  | Shell的名称  | 
\t  | 24小时制HH:MM:SS格式的当前时间  | 
\T  | 12小时制HH:MM:SS格式的当前时间  | 
\@  | 12小时制am/pm格式的当前时间  | 
\u  | 当前用户的用户名  | 
\v  | Bashshell版本  | 
\V  | Bashshell的发行版  | 
\w  | 当前工作目录  | 
\W  | 当前工作目录的基名  | 
\!  | 这个命令在bashshell历史记录中的位置  | 
\#  | 这个命令在当前命令行的位置  | 
\$  | 普通用户下的美元符($)root用户下的井号(#)  | 
\nnn  | 与八进制数nnn对应的字符  | 
\\  | 反斜线(\)  | 
\[  | 开始一个控制字符序列  | 
\]  | 结束一个控制字符序列  | 
注意,所有提示符特殊字符都从反斜线(\)开始。该字符将提示符中的特殊字符和普通文本分开来。提示符既有特殊字符,也有普通字符(@符合方括号[])。你可以在提示符中创建热河提示符字符的组合。要创建新的提示符,只需给PS1变量附一个新的字符串就行;
想要退出输入:su -
3.linux文件系统
目录  | 用途  | 
/  | 虚拟目录的根目录。通常不会在这里存储文件  | 
/bin  | 二进制目录,存放许多GNU用户级的工具  | 
/boot  | 启动目录,存放启动文件  | 
/dev  | 设备目录,linux在这里创建设备节点  | 
/etc  | 系统配置文件目录  | 
/home  | 主目录,linux在这里创建用户目录  | 
/lib  | 库目录,存放系统和应用程序的库文件  | 
/media  | 媒体目录,存放可移动媒体设备挂载点的地方  | 
/mnt  | 挂载目录,另一个存放可移动媒体设备挂载点的地方  | 
/opt  | 可选目录,通常用于存放可选的软件包  | 
/root  | 根目录  | 
/sbin  | 系统二进制目录,存放许多GNU管理员级工具  | 
/tmp  | 临时目录,可以在该目录中创建和删除临时工作文件  | 
/usr  | 用户安装软件的目录  | 
/var  | 可变目录,用以存放经常变化的文件,如日志文件  | 
1)基本列表功能(ls命令)
ls常用参数
单字母  | 全字  | 描述  | 
-a  | --all  | 输出包括以“.”打头的隐藏文件  | 
-A  | --almost-all --author  | 不要输出“.”和“..”文件 输出每个文件的作者  | 
-b  | --escape --block-size=size  | 输出打印字符的八进制值 按size字节大小的块来计算块大小  | 
-B  | --ignore-backups  | 不要列出名称中包含波浪线(~)的条目  | 
-c  | 按最后一次修改时间排序  | |
-C  | 按列输出条目  | |
-d  | --directory  | 列出目录条目而非内容,并且不要跟踪符号链接  | 
-F  | --classify  | 给条目追加文件类型标识符  | 
-g  | 输出除文件属主外所有信息  | |
-G  | --no-group  | 在长列表输出格式下,不要显示组名  | 
-h  | --human-reabable  | 打印打下,K表示千字节,M表示兆字节,G表示吉字节  | 
-i  | --inode  | 显示每个文件的索引值  | 
-l  | 按长列表输出格式显示  | |
-L  | --dereference  | 对于链接文件,显示源文件信息  | 
-n  | --numeric-uid-gid  | 显示数字类型的userid和groupid以代替名字在长列表格式下不要显示组名  | 
-r  | --reverse  | 在输出文件和目录时,反转排序的顺序  | 
-R  | --recursive  | 递归的列出子目录内容  | 
-s  | --size  | 输出每个文件的块大小  | 
-S  | --sort=size  | 按每个文件大小输出  | 
-t  | --sort=time  | 按文件的修改时间输出  | 
-u  | 输出文件的最后访问时间而非最后修改时间  | |
-U  | --sort=none  | 不要将输出排序  | 
-v  | --sort=version  | 按文件版本排序输出  | 
-x  | 按行而非列输出条目  | |
-X  | --sort=extension  | 按文件扩展名排列输出  | 
例如:ls -F
ls -F参数会在目录后加了正斜线(/),以方便用户在输出中分辨它们。
ls -sail
其中第一列数字是文件或目录的索引节点号,第二列是文件块的大小。第三列代表的是文件类型和权限:
(dr-xr-x---)其中前面的“d”代表的是文件类型。如目录是(d),文件是(-),字符型文件是(c),块文件(b)
ls还可以使用通配符:问号(?)代表一个字符。星号(*)代表零个或多个字符。
上面的例子可以看出通配符(?)和(*)号的区别。
2)复制文件(cp命令)
cp命令常用参数
参数  | 描述  | 
-a  | 归档文件,并保留他们现有的属性  | 
-b  | 创建已存在目标文件的备份,而非覆盖它  | 
-d  | 保留  | 
-f  | 强制覆盖已存在目标文件,不提示  | 
-i  | 在覆盖目标文件之前提示  | 
-l  | 创建文件链接而非复制文件  | 
-r  | 递归的复制文件  | 
-R  | 递归的复制目录  | 
-s  | 创建一个符号链接而非复制文件  | 
-S  | 覆盖默认的备份文件的后缀(默认是~)  | 
-u  | 仅在源文件比目标文件新的情况下复制(相当于更新)  | 
-v  | 详细模式,解释到底发生了什么  | 
-x  | 仅限于当前文件系统的复制  | 
链接文件
Linux有两种不同类型的文件链接:
l 符号链接,即软连接
l 硬链接
软连接和硬链接的区别就是硬链接会创建一个独立文件,其中包含了源文件的信息及位置。引用硬链接文件等同于引用了源文件。
cp -l 源文件 目标文件 (是硬链接)
cp -s 源文件 目标文件 (软连接)
查看文件统计信息stat命令
stat 文件名
查看文件类型file命令
file命令是一个用来查看文件类型的工具。他能探测文件的内部并决定文件是什么类型
File命令将文件分为3类:
文本文件:包含可打印字符的文件。
可执行文件:可在系统上运行的文件
数据文件:包含不可打印二进制字符,又不能在系统上运行的文件。
查看整个文件
cat命令 more命令 less命令
查看部分文件
tail命令显示文件末尾部分的内容,默认情况下他会显示文件的末尾10行。
tail命令常用参数
参数  | 描述  | 
-c  | 显示文件最后的bytes个字节的字符  | 
-n  | 显示文件最后的lines行  | 
-f  | 让tail程序一直保持活动状态,如果有新的内容加到末尾就显示出来  | 
--pid  | 和-f参数一起,跟踪一个文件直到进程ID为PID的进程结束  | 
-s sec  | 和-f参数一起,在每次循环输出之间休眠sec秒  | 
-v  | 总是显示带文件名的头  | 
-q  | 从不显示带文件名的头  | 
-f参数是tail命令的一个突出的特性,它允许你在其它进程使用该文件时查看文件的内容。Tail命令会保持活动状态并不断的显示添加到文件中的内容。这是实时监测系统日志的绝妙方式。
head命令查看文件头
head命令会显示文件开头哪些行的内容,默认情况下,它会显示文件前十行的文本。它也支持-c和-n参数这样就可指定要显示的行数。
用法:head -n 20 文件名
本文出自 “追求探索” 博客,请务必保留此出处http://caesar1990.blog.51cto.com/8821483/1726287
原文:http://caesar1990.blog.51cto.com/8821483/1726287