第三章 常用bash命令

 

Key words
通用linux目录名称
文件处理 touch、copy、mv、rm
目录处理   mkdir 、rmdir、rm
查看文件内容    stat、file、cat、more、less、tail、head
 
3.4  文件系统导航
   通用linux目录名称:
    /           虚拟目录的根目录,通常此处没有文件
    /bin        二进制目录,存储许多GNU用户级别的实用程序
    /boot       引导目录,存储引导文件
    /dev         设备目录,linux在该目录中创建设备节点
 /etc        系统配置文件目录
    /home      主目录,linux在该目录中创建用户目录
    /lib           库目录,存储系统和应用程序库文件
    /media     媒体目录,可移动媒体常用挂载点
    /mnt        挂载目录,另一个可移动媒体设备常用挂载点
    /opt         可选目录,常用于存储可选软件包
     /root        根主目录
    /sbin       系统二进制目录,存储许多GNU管理级别的使用程序
    /tmp       临时目录
     /usr         用户安装软件的目录
     /var         可变目录,用于经常更改的文件,比如日志文件
 
  
3.5 文件和目录列表
命令: ls
常用参数: ls -a   列出所有文件
               -l    显示长列表格式
               -F   区分文件和目录
               -d   列出目录而不是内容,不要废弃符号链接
               -s    列出每个文件的块大小
             -S     按文件大小排列输出
               -i     显示每个文件的索引号(inode)
               -h    人性化显示文件大小  
               -t     按文件修改时间排序输出
 
[root@localhost ~]# ls -l   litingwen
-rw-r--r-- 1 root root 0 05-22 08:52 litingwen
注释: 文件类型 文件权限   指向该文件的硬链接数   文件所有者 文件所属组 文件的字节大小   上次修改文件的时间    文件或目录名称
 
[root@localhost ~]# ls -d /etc
/etc
[root@localhost ~]# ll -d /etc
drwxr-xr-x 101 root root 12288 05-22 07:18 /etc
[root@localhost ~]# ls -ldF /etc
drwxr-xr-x 101 root root 12288 05-22 07:18 /etc/
[root@localhost ~]# ll /etc
总计 3276
-rw-r--r-- 1 root root   15288 2008-05-24 a2ps.cfg
-rw-r--r-- 1 root root    2562 2008-05-24 a2ps-site.cfg
drwxr-xr-x 4 root root    4096 04-09 05:40 acpi
-rw-r--r-- 1 root root      44 05-09 10:08 adjtime
。。。。。。
[root@localhost ~]# ls -lF /etc
总计 3276
-rw-r--r-- 1 root root   15288 2008-05-24 a2ps.cfg
-rw-r--r-- 1 root root    2562 2008-05-24 a2ps-site.cfg
drwxr-xr-x 4 root root    4096 04-09 05:40 acpi/
-rw-r--r-- 1 root root      44 05-09 10:08 adjtime
 
3.6 文件处理
touch 、copy、mv、rm
 
touch    创建文件、更改文件的访问时间和修改时间
 touch   -a    file    只更改文件访问时间
touch    -m file    只更改文件的修改时间
touch   -t 200806081200   file    指定文件修改时间
例:
[root@localhost ~]# touch -t 200806081200 litingwen
[root@localhost ~]# ll litingwen
-rw-r--r-- 1 root root 0 2008-06-08 litingwen
[root@localhost ~]# touch litingwen
[root@localhost ~]# ll litingwen
-rw-r--r-- 1 root root 0 05-22 08:52 litingwen
[root@localhost ~]#
 
copy
cp   source    destination
-b       为每个现有destination文件创建一个备份而不是覆盖它
-l        创建硬链接
-p        保留文件属性
-r        递归复制文件
-R       递归复制目录
-s        创建符号链接
-u        仅在原文件比目标文件的日期和时间新时才复制原文件
例:
[root@localhost tmp]# cp -b /root/litingwen .
cp :是否覆盖“./litingwen”? y
[root@localhost tmp]# ls
aa litingwen litingwen~               哈哈,自动创建了备份文件litingwen~
创建硬链接:
[root@localhost ~]# cp -l litingwen litingwen2
[root@localhost ~]# ll litingwen litingwen2
-rw-r--r-- 2 root root 0 05-22 08:52 litingwen
-rw-r--r-- 2 root root 0 05-22 08:52 litingwen2
创建软链接:
[root@localhost ~]# cp -s litingwen litingwen3
[root@localhost ~]# ll litingwen litingwen3
-rw-r--r-- 2 root root 0 05-22 08:52 litingwen
lrwxrwxrwx 1 root root 9 05-22 09:19 litingwen3 -> litingwen
[root@localhost ~]#
[root@localhost ~]# cp -l litingwen /tmp/aa
[root@localhost ~]# cp -s litingwen /tmp/bb
cp: “/tmp/bb”:只能于当前目录中创建相对的符号链接
 
mv     重命名、移动【目录】文件
重命名
[root@localhost tmp]# ls
aa litingwen litingwen~
[root@localhost tmp]# mv aa bb
[root@localhost tmp]# ls
bb litingwen litingwen~
[root@localhost tmp]#
移动:
[root@localhost tmp]# mv bb /root
[root@localhost tmp]# ls
litingwen litingwen~
[root@localhost tmp]# ll /root/bb
-rw-r--r-- 2 root root 0 05-22 08:52 /root/bb
[root@localhost tmp]#
 
rm 删除【目录】文件
 
3.7 目录处理
mkdir 、rmdir、rm
rmdir 默认只能删除空目录,删除非空目录的终极解决方案是 rm -rf
 
3.8 查看文件内容
stat 、file、cat、more、less、tail、head
stat   查看文件统计数据
[root@localhost tmp]# stat litingwen
 File: “litingwen”
 Size: 0               Blocks: 8          IO Block: 4096   一般空文件
Device: fd00h/64768d    Inode: 3670035     Links: 1
Access: (0644/-rw-r--r--) Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-05-22 09:32:55.000000000 -0400
Modify: 2011-05-22 09:32:55.000000000 -0400
Change: 2011-05-22 09:32:55.000000000 -0400
[root@localhost tmp]# mkdir test
[root@localhost tmp]# stat test/
 File: “test/”
 Size: 4096            Blocks: 16         IO Block: 4096   目录
Device: fd00h/64768d    Inode: 2098561     Links: 2
Access: (0755/drwxr-xr-x) Uid: (    0/    root)   Gid: (    0/    root)
Access: 2011-05-22 09:55:11.000000000 -0400
Modify: 2011-05-22 09:55:11.000000000 -0400
Change: 2011-05-22 09:55:11.000000000 -0400
 
file 查看文件类型
file 命令将文件分为以下3类:
文本文件:可打印字符的文件
可执行文件:可以在系统上运行的文件
数据文件:包括不可打印的二进制文件
[root@localhost tmp]# file litingwen
litingwen: empty
[root@localhost tmp]# file litingwen~
litingwen~: ASCII text
[root@localhost tmp]# file test/
test/: directory
 
cat   查看文件内容
 -n   显示行号
-b      显示行号,但不给空行编号
[root@localhost tmp]# cat -n /etc/passwd
     1 root:x:0:0:root:/root:/bin/bash
     2 bin:x:1:1:bin:/bin:/sbin/nologin
     3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4 adm:x:3:4:adm:/var/adm:/sbin/nologin
 
more  查看文件内容 支持翻页查看 适用于大文件
more    h    显示帮助菜单
         spacebar/z   显示下一页
         enter      显示下一行
         q    退出
 
less   more 命令的高级版
除了支持 more 命令的命令集 还支持向下和向上、翻页键
 
 
tail   默认显示文件的后十行
 tail    -f     动态显示文件内容
        -n   N   显示最后N行
        -c   C    显示最后C个字节
[root@localhost ~]# less /etc/inittab
[root@localhost ~]# tail /etc/inittab
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
 
head  默认显示文件的前十行             
不支持 -f   参数,但支持 -n 和-c 参数,和tail结合使用可以方便查看特定行的内容
[root@localhost ~]# tail   /etc/inittab |head -n 5
# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
[root@localhost ~]#
[root@localhost ~]# head -30 /etc/inittab | tail -5
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
 
 
 

你可能感兴趣的:(linux,shell,职场,bash,休闲)