1 linux系统结构

linux系统一般有这几个部分组成:内核Kernel、外壳Shell、文件系统和应用程序。层次结构如下图:

Linux基本操作命令_第1张图片
其中:

  1. linux内核主要与计算机硬件进行交互,并为用户程序提供一个高级的执行环境,按功能模块分为:进程调度、内存管理、文件管理、进程间通信、网络接口。
    2.介于使用者和操作系统内核之间的接口Shell有以下功能:
    -读取输入和语法分析命令列
    -重定向和管道
    -搜索和运行程序
    -后台作业
    -shell编程
    3.常见的shell程序
    -Bourne Shell(SH) 最老、最广泛使用
    -Korn Shell(KSH) 对SH的扩充,兼容SH
    -C Shell(CSH) 语法与C类似,不兼容SH
    -Bourne Again Shell(BASH) Linux中默认的Shell,与SH兼容,继承了KSH\C Shell的优点。
    4.常见的外围工具(桌面系统)
    -GNOME/GTK
    支持C语言
    拥有众多公司或自由软件人的支持,包括RedHat
    -KDE/QT(K Desktop Envirment)
    支持C++,稳定成熟
    包括办公软件KOffice、Internet应用软件、开发工具KDevelop、和一些其他应用软件
  2. 文件系统
    Linux基本操作命令_第2张图片

    -bin:linux常用的命令。如:cp、mv。
    -boot:系统启动时要用到的程序。
    -dev:所有linux系统中使用的外部设备映射文件。
                    和我们常用的windows, dos操作系统不一样。它实际上是一个访问这些外部设备的端口。(虚拟光驱、usb)
    -etc:系统管理的各种配置文件和子目录。
                如网络配置文件,文件系统,x系统配置文件,设备被指信息,设置用户信息(passwd、group)
    -home:每个用户的主目录存放在这个目录下以用户名命名的子目录中。
                            例如:如果我们建立一个用户,用户名是“tom”,那么在/home目录下就有一个对应的/home/tom路径
    -lib:存放系统动态连接共享库
    -lost+found:这个目录在大多数情况下都是空的。
            但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下,就象为无家可归的人提供一个临时住所。
    -mnt:分区的挂载点,这个目录在一般情况下也是空的。可以临时将别的文件系统挂在这个目录下。(cdrom、hgfs、usb)
    -proc:虚拟目录,系统内存的映射,可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。
    -root:系统管理员的主目录,其它用户无法访问。
    -sbin:这个目录是用来存放系统管理员的系统管理程序。
    -tmp:用来存放不同程序执行时产生的临时文件。
    -usr:这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和库都存放在这个目录下,有很多子目录。
    -Var:存放一些系统运行过程中的临时文件,如系统日志。

    注:在各目录中以颜色区分不同的文件类型
    蓝:目录;
    绿:可执行文件;
    红:压缩文件;
    浅蓝:链接文件;
    灰:其他文件;
    红底白字:错误的链接文件

2 常用命令

2.1 获取命令帮助
whatis <简单描述命令功能>
--help <命令使用摘要及参数列表>
man <命令说明文件,全英文的>
2.2 文件操作命令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
-h 人性话列出文件大小,按K\M\G

mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名(在当前目录下相当于重命名)
rename 重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数 (若等待用户输入,ctrl+d结束输入)
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式

详细说下rename和find命令(经常用到通配符*<匹配所有字符>和?<匹配所有的单个字符>)。
rename 被替换掉的字符串 替换成的字符串 匹配要替换的字符串
比如: rename foo1 foo01 foo?  <把foo1替换成foo01>
                        rename foo foo0 foo?? <把所有形式为foo??的改成foo0??>
find常用表达式:
-print 将当前文件名送到标准输出设备显示,返回值常为真。
-name pattern 检查文件名是否和pattern相同,必要时使用引号。
-exec cmd 用来执行cmd命令。如果该命令会使用到当前的文件名,应该加{}标记,分号用来表示cmd的结束
-type t 检查当前文件的类型是否是t。t可以是:d-目录,f-普通文件,l-链接文件。
比如:find -name 'tty*'   
           找出当前目录下的链接文件  find ./ -type l -exec {} \;
                     找到存放ip的文件 find /etc/ -name '*eth*' -exec ls -l {} \;

2.3 系统常用命令
date 显示日期
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
finger 查看有几个终端
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了, 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit=”ps -aux” ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
which 查看程序所在位置

2.4 常用快捷键
ctrl+shift+"+"放大
init 3命令行界面 init 5 图形界面(gedit etc/inittab)
tab 自动补全