目录和文件名的命名规则

除了/外,所有字符可用作目录和文件名

大小写敏感

避免使用非普通字符做文件或目录名

以"."开头的文件和目录是隐含的

 

命令基本格式

cmd [options] [arguments]

cmd  命令名

options  选项

arguments  参数,也即操作对象

选项和参数作为Shell命令执行时的输入,之间用空格隔开

单字符参数前使用一个减号(-),单词参数前使用两个减号(--)

多个单字符参数前可以只使用一个减号

有些命令不遵从以上规则,如dd、find等

 

通配符

*  匹配任何字符和任何数目的字符

?  匹配单一数目的任何字符

[]  匹配[]之内的任意一个字符

[!]  匹配[!]之外的任意一个字符

“*”能匹配文件或目录名中的“.”,但不能匹配首字符是“.”的文件或目录名

 

一、文件与目录操作命令  

1.1 目录操作命令

ls       显示文件和目录列表

tree     显示文件和目录树

pwd      显示当前工作目录

cd       切换目录

mkdir    创建目录

rmdir    删除空目录

============================================================

pushd, popd和dirs

cd -
可用于返回上一次的目录,-等同于 $OLDPWD变量

dirs -p -v
显示栈里的目录

dirs -c
清空栈里的目录

pushd dir_name
将目录推入栈,并切换至该目录

pushd +n
切换到栈中的第n个目录,并把此目录以堆栈循环的方式推到栈的顶部

popd
把栈顶端的目录从栈中删除,并切换于位于新的顶端的目录

popd +n
把栈中第n个目录从栈中删除,并切换于位于新的顶端的目录

注意:
pushd和popd都可以只影响栈而不切换目录,用 -n参数即可

============================================================

 

1.2 文件操作命令

touch   生成新的空文件或更改现有文件的时间戳

------------------------------------------------

GNU/Linux的文件有3种类型的时间戳

mtime:最后修改时间

ctime:状态改变时间

atime:最后访问时间

------------------------------------------------

cp      复制文件或目录

mv      移动文件或目录、文件或目录改名

rm      删除文件或目录

------------------------------------------------

默认情况,rm不删除目录,使用-r或-R可删除每个给定的目录,以及其下的所有内容;

删除第一个字符为“-”的文件(-foo),使用的方法:

$ rm -- -foo

$ rm ./-foo

------------------------------------------------

ln      创建链接文件

symlinks 检查目录中的符号链接,并显示符号链接的类型

------------------------------------------------

链接类型

absolute:使用绝对路径的符号链接

dangling:原始文件已经不存在的符号链接

lengthy: 符号链接路径中包含了多余的“../”

messy:   符号链接路径中包含了多余的“/”

other_fs:原始文件位于其他文件系统中

relative:使用相对路径的符号链接

常用参数

-c:将absolute/messy类型的符号链接转换为relative类型

-d:删除dangling类型的符号链接

-r:检查目录下所有子目录中的符号链接

-s:缩短lengthy类型的符号链接

-v:所有类型的符号链接

------------------------------------------------

 

1.3 文件大包压缩命令

gzip    .gz文件的压缩和解压缩程序

bzip2   .bz2文件的压缩和解压缩程序

tar     文件打包和解包

 

二、文本处理命令

cat    从文件头到文件尾滚屏显示文本文件内容

tac    从文件尾到文件头显示文本文件内容

rcv    把每行的内容反转

more   从文件头到文件为分屏显示文本文件内容

less   双向分屏显示文本文件内容

head   显示文本文件头部若干行

tail   显示文本文件尾部若干行(-F,用于跟踪显示不断增长的文件尾部内容,如日志文件)

cut    纵向切割出文本指定的部分并写到标准输出

paste  纵向合并多个文本并写到标准输出

sort   以行为单位对文件进行排序

uniq   删除文本文件中相邻重复行并写到标准输出

wc     统计指定文本文件的行数、单词数、字节数

expand 将文件中的制表符转换为空格,写到标准输出

unexpand 将文件中的空格转换为制表符,写到标准输出

iconv  将文件从一种编码转换成另一种编码

dos2unix 将DOS格式的文本文件转换成UNIX格式的文本文件

unix2dos 将UNIX格式转换成DOS格式

 

三、信息显示命令

uname      显示系统信息

hostname   显示与主机名相关的信息

dmesg      显示开机信息,kernel会将开机信息存储在ring buffer中,亦保存在/var/log/dmesg中

uptime     显示从开机到当前的时间

file       显示文件类型

stat       从inode中提取并显示文件状态信息或文件系统信息

du         统计文件的磁盘用量,目录取总用量

df         查看磁盘剩余情况

top        实时显示进程任务

free       显示内存使用状态

w          显示登录用户

date       显示和设置日期和时间

cal        显示月历

------------------------------------------------

$ cal 9 1752

     九月 1752     
日 一 二 三 四 五 六
       1  2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

提示:

1752年9月第3日起改用西洋新历,有11天被去除。

------------------------------------------------

which      在环境变量PATH设置的目录下查找指定文件的位置

whereis    在特定目录中查找符合条件的文件

locale     显示本地支持的语言系统信息

apropos    使用正则表达式搜索手册页名称和描述(whatis具有类似功能)

 

四、基本网络操作命令

telnet     用telnet协议与另一个主机通信

ssh        用ssh协议登录远程主机的客户端

scp        给予ssh协议在本地主机和远程主机之间复制文件

ftp        ftp字符界面客户端

lftp       字符界面文档传输工具

wget       使用http和ftp协议,支持代理服务器和断点续传的,基于控制台的下载工具

------------------------------------------------

wget的递归功能允许查看html文件和ftp目录树结构,并在本地建立与远程站点上相同层次关系的目录结构,可用于镜像网页。

wget可以读出并存储http和ftp站点给出的时间戳,从而判断远程文件的更新状况。

------------------------------------------------

w3m        字符界面浏览器(其它浏览器lynx、elinks)

 

五、命令行补全

输入部分目录名、文件名、用户名、变量名等,然后按Tab键,bash尽其所能地试图补全命令,不行的话发出蜂鸣声提醒,再按一次Tab键,bash将符合条件的目录或文件显示出来。

 

六、命令历史

历史命令的数目有环境变量HISTSIZE值指定,记录历史命令的文本文件由环境变量HISTFILE指定,默认记录在~/.bash_history中。

1.使用上下方向键、PgUp和PgDn键查看

2.history显示历史命令

3.!!执行最近执行过的命令

4.!<命令事件号>执行命令历史中编号的命令

5.!<已执行过命令的前面部分>执行最近执行过的,前面部分匹配的命令

 

七、命令别名

命令别名的命令格式

alias [alias_name='original_command']

注意:

1.等号两边不允许有空格,命令中包含空格或其它特殊字符串必须使用引号。

2.要使得别名的定义永久有效,应该将其写入~/.bashrc文件中。

3.若系统的命令与别名同名,别名优先于命令,要执行系统的命令需在命令前加“\”字符

 

取消别名的命令格式

unalias alias_name

 

gpm守护进程可以在字符界面下用鼠标来复制与粘贴。按住鼠标左键拖动,使要复制的文字反白显示,此时反白的区域被复制,单击鼠标右键,复制的内容粘贴到光标所在的位置。

 

 

 

posted on 2010-10-31 19:21  龍蝦  阅读(687)  评论(0编辑  收藏  举报