一切皆文件。
通过配置文件保存程序的配置信息,而配置文件通常是纯文本文件。
严格区分大小写,不以文件名后缀判断文件类型

如何登陆linux:
工作目录,主目录

linux只有一个根目录。
终端中输入pwd 显示当前的工作目录,cd :change directory 切换目录
cd+name 切换至name用户;
cd - 切换至刚才的用户(返回键)
管理员:# 
用户:$
echo $ SHELL 显示当前shell是什么
选项用于定义命令的执行方式,使用 - 来引导,短选项通常只有一个字符,使用一个横线引导,例: ls -l
长选项通常是一个完整意义的单词或组合,使用两横线引导,例:--help
短选项可以组合 长选项不可以组合;   例:-l -a = -al


参数:
ctrl+c键使用取消命令的执行
在一个命令行执行多条命令,使用 ; 隔开命令,例
ls -alh /root ;   ls -alh /usr

命令的分类:内部命令;外部命令
内部命令 :隶属于某个已经打开的shell程序的命令
外部命令 : 在系统某个路径下存在与命令名称对用的可执行文件的命令,例which ls

用type+ commond 用于区别命令是否为外部和内部,例type ls

ls --list
ls /root  -alh

如何获得命令帮助:
外部命令获取帮助: --help
内部命令获取帮助:help +command 例 help ls
查看命令手册:man command 例 man ls
查看命令的信息页:info command

命令自身附带的文档:/usr/share/doc

redhat documentation
google
如何使用man查看命令手册:
man 【chapter】 <command>
chapter章节:按命令类型归类,8个章节:
用户命令;
系统调用;
库调用;
特殊文件说明;
文件格式(通常指配置文件);
游戏;
杂项;
管理命令;


whatis command 例 whatis ls  然后 man 1(章节) ls

man 1 ls
man 1 man

makewhatis(生成whatis命令)


man -M /root/某文件

FILES 用来说明此命令的配置文件

EXAMPLES 提供使用样例

翻屏:
space 键
enter 键
G 跳至文件尾
1G跳至文件首

字符串搜索:
/ keyword n/N :从光标所在处向后搜索
?keyword :从光标所在处向前搜索

命令使用格式中字符的意义:
【】:可选
<>:必选
... :可以有多个
a|b|c :多选一
{}:分段

只显示时间:date +%T 或者 date +%H/%M/%S
只显示日期:date +%F/D 或者date +%Y/%m/%s
 全部显示:date
修改日期和时间:date -s '2011/01/05 12:12'
单独修改日期:date -s 2011/05/01 可能会修改时间归零
单独修改时间:date -s 12:12


修改语言:export LANG= en

 

kbase.redhat.com 红帽官网的知识库


ls -alh 显示详细信息
-h  显示文件大小信息
-l   以列表显示信息
-a   显示所有文件,包括隐藏文件
ls -ld 显示目录本身的信息 而不显示目录内子目录的信息

ls -R 显示本身目录连同子目录的所有文件内容一块显示

 


文件权限组成:文件所有者权限+所有者所属的组权限+其他用户的权限+ 文件被硬连接次数+文件所有者+所有者所属的组+文件大小(字节)+文件最近一次被修改的时间+文件名称
例:-rw-rxrwx 2 root root 1234 feb 2 2012 wangzhen.txt

linux  文件类型:
d表示目录文件;
l表示连接文件(软连接);
- 表示普通文件;
特殊文件:
c表示字符设备文件;
b表示块设备文件;(例硬盘)
p表示管道文件
s表示套接字文件

stat +文件名 可知文件的详细时间戳;

file +文件的路径 可以判断文件的内容类型

file /root/Desktop/wangzhen/wangzhen.txt 可以判断文件的内容类型
文件类型为:ASCII text
(ASCII码的纯文本文件)


linux需要遵循FHS:文件层次标准!

linux目录结构:
一级子目录:
/bin,可执行的二进制文件,非管理类的命令,普通用户和管理员均可使用的命令;
/sbin,管理类的命令,通常只有管理员才能使用;
/lib,库文件;
/etc,配置文件;
/etc/sysconfig,服务额外配置文件及网络设备配置文件
/etc/init.d,服务的管理脚本存放位置
/usr,系统资源;
   /usr/bin
   /usr/sbin
   /usr/etc
   /usr/lib
      /usr/include,头文件
   /usr/local(第三方文件)
     /usr/local/bin
         /usr/local/sbin
         /usr/local/etc
         /usr/local/lib
 
/boot,引导文件,系统启动,kernel,bootloader(grub)

/dev ,设备文件所在目录;例/dev/dvd;
/home/username,
/root
/lost+found,类似与临时文件的目录;
/media,挂载点,挂载便携式设备,例u盘
例/media/cdrom;
/mnt,挂载点,挂载稳定的文件
/tmp 临时文件,但是一般用户不可删除
/misc,杂项;
/opt,可选的,有些第三方文件把这个目录当成默认安装位置,例如Nessus,Oracle
/proc,伪目录,里面的文件是假的,不存在的文件,是在内存中的文件,系统启动后才会产生。内存中的内核相关信息映射!!
/sys,比如磁盘这样的存贮设备或者某些总线型的设备的驱动相关的信息。
/srv,服务运行中的中间文件,临时文件存放位置。
/var,可变的,数据库文件、日志文件、邮件文件存放位置。
/var/log
/var/run
/var/mail

文件和目录管理的相关命令:
pwd
cd
ls
创建一个空白文件:touch、vi、vim;
touch参数:
-a
-m
-t【cc】MMDDhhmm.ss
-c
vi+ 文件名称
vim+文件名称

stat+文件名,显示文件的时间戳详细信息;

Access:访问时间
Modify:最近一次修改<内容改变>时间
change:最后一次改变文件的属性发生改变时间

 

[root@station60 ~]# man touch
[root@station60 ~]# touch /root/Desktop/wangzhen/wangzhen.txt
[root@station60 ~]# stat /root/Desktop/wangzhen/wangzhen.txt
  File: `/root/Desktop/wangzhen/wangzhen.txt'
  Size: 9          Blocks: 16         IO Block: 4096   regular file
Device: fd00h/64768d Inode: 1666469     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-01-02 02:54:52.000000000 +0800
Modify: 2011-01-02 02:54:52.000000000 +0800
Change: 2011-01-02 02:54:52.000000000 +0800

复制文件:
目标是目录,则复制后是源文件;
目标是文件:
cp /root/wangzhen.txt /root/Desktop/wangzhen/wz
复制文件wangzhen.txt 并且重命名为wz.txt
-f ,强制force
-i ,交互式询问操作
-p,连同源文件属性一同复制(备份常用)
-r,持续复制子目录
-a

-a=-pdr


su:switch user,切换用户
su -l username(完全切换)
su - username(完全切换)
su(半切换,保留原来用户的信息和环境)
返回原来用户,用exit

创建目录:
mkdir+目录名称
-p 先创建指定目录的父目录再创建子目录,例cp -p /root/x/y/z,xyz均没有则先创建x、后y、后z,不加参数-p则无法创建这样的目录

-v 显示创建的命令行展开(显示创建过程)
/root/{a,b}= /root/a,/root/b

/root/{a,b}/c= /root/a/c, /root/b/c

/root/{a/c,b}=/root/a/c , /root/b

/root/{a,b}_{d,c}=/root/{a,d},/root/{a,c},/root/{b,a},/root/{b,c}

例子:创建一个iso//bin;iso//sbin;iso//var/log;iso//var/run;iso//etc/rc.d;iso//etc/rc.d/init.d;`iso//etc/repos.d;


[root@station60 wangzhen]# mkdir -pv iso/{/bin,/sbin,/var/log,/var/run,/etc/rc.d/init.d,/etc/repos.d}
mkdir: created directory `iso'
mkdir: created directory `iso//bin'
mkdir: created directory `iso//sbin'
mkdir: created directory `iso//var'
mkdir: created directory `iso//var/log'
mkdir: created directory `iso//var/run'
mkdir: created directory `iso//etc'
mkdir: created directory `iso//etc/rc.d'
mkdir: created directory `iso//etc/rc.d/init.d'
mkdir: created directory `iso//etc/repos.d'

 


删除目录:
rmdir:删除一个空目录;

rmdir -r:删除目录连同里面文件删除命令;

rmdir -f:强制 删除不交互;

移动文件或者目录:
mv /root/wangzhen.text /root/wz 即使用mv重命名

-f 强制移动
-i  交互式操作

命令替换作业:
创建一个以当前日期为文件后缀名的文件,形如myfile-2012-01-02.txt
(调用命令用反引号·或者用单引号‘’或者用$+())

touch myfile-·date+%F-%T·

touch myfile-$(date+%H-%M-%S).txt

 

globing: 文件名通配

查找以myfile开头的文件
*,?
*号用于匹配任意长度的任意字符
?号用于匹配任意单个字符

[]取给定范围内的任意字符,myfile[abc]=myfilea+myfileb+myfilec
[^]取定给定范围以外的任意单个字符
[:lower:]取定所有小写字母任意字符
[:upper:]取定所有大写字母任意字符
[:alpha:]取定所有大小写字母任意字符
[:digit:]取定所有数字任意字符
[:alnum:]既有数字也有字母
[:punct:]取定所有标点符号的任意字符


命令历史:
history

清楚命令历史:
history -c  清楚所有命令
history -n 3  显示最近的3条命令
history -w
history -a
history -d 3 删除第三条命令
history -c -d 3 删除从第3条命令开始以后的命令

echo $HISTSIZE 查看缓冲区内的所能存储的命令条数
echo $HISTFILESIZE 查看~/.bash_history 内的命令条数

!n  即执行history中的第n条命令
!string(某字符命令) 执行最近一次某字符开头的命令
!! 重复执行上一条命令
先按ESC再按.号 应用上一条命令的最后一个参数
alt+. 应用上一条命令的最后一个参数
例如:ls -al/root/wangzhen,按下这两个快捷键会引用/root/wangzhen这个参数;

HISTCONTROL=
export HISTCONTROL=
ignorespace  忽略以空格开头的命令 
ignoredups    忽略重复命令
ignoreboth     忽略这两个命令,即这两条命令都生效


如果想查看一个命令的帮助信息  先要看他是不是内置命令,调用type+command,若是内置命令command is a shell builtin,则用command --help查看命令帮助;为外置命令则用man+command!