zoukankan      html  css  js  c++  java
  • 基本的bash shell

    一、linux文件系统

             linux文件系统结构是从Unix文件结构演进过来的。在linux文件系统中,通用的目录名用于表示一些常见的功能。如下表列出一些较为常见的Linux顶层虚拟目录名及其内容。

    /

    虚拟目录的根目录。

    /bin

    二进制目录,存放许多用户级的GNU工具

    /boot

    启动目录,存放很多启动文件

    /dev

    设备目录

    /etc

    系统配置文件目录

    /home

    主目录,Linux在这里创建用户目录

    /lib

    库目录,存放系统和应用程序的库文件

    /media

    媒体目录,可移动媒体设备的常用挂载点

    /mnt

    挂载目录,另一个可移动媒体设备的常用挂载点

    /opt

    可选目录,常用于存放第三方软件包和数据文件

    /proc

    进程目录,存放现有硬件及当前进程的相关信息

    /root

    root用户的主目录

    /sbin

    系统二进制目录,存放许多GNU管理员级工具

    /run

    运行目录,存放系统运作时的运行时数据

    /srv

    服务目录,存放本地服务的相关文件

    /sys

    系统目录,存放系统硬件信息的相关文件

    /tmp

    临时目录,可以在该目录中创建和删除临时工作文件

    /usr

    用户二进制目录,大量用户级的GNU工具和数据文件都存放到这里

    /var

    可变目录,用于存放经常变化的文件,比如日志文件

     

     

    二、遍历目录              

             常用指令:$cd ----切换目录

                              $cd destination

                              $pwd------显示当前目录

    1、 绝对路径

    绝对路径定义了在虚拟目录结构中该目录的确切位置,以虚拟目录的根目录开始,相当于目录的全名。

    2、 相对路径

    相对文件路径允许用户指定一个基于当前位置的目标文件路径。

    有两个特殊字符可用于相对文件路径当中:

    l  单点符(.),表示当前目录;

    l  双点符(..),表示当前目录的父目录;

    三、文件和目录列表

    1、基本列表功能

    (1)、$ls

    (2)、$ls –F, F参数的ls命令轻松区分文件和目录

      [root@localhost ~]# ls -F

      anaconda-ks.cfg  install.log  install.log.syslog  netperf-netperf-2.5.0/  netperf-netperf-2.5.0.tar.gz  公共的/  模板/  视频/  图片/  文档/  下载/  音乐/  桌面/

    (3)、$ls –a,把隐藏文件和普通文件及目录一起显示出来

    (4)、$ls –R,递归选项,它列出了当前目录下包含的子目录中的文件。

    [root@localhost doc]# ls -F -R

    .:

    examples/  Makefile.am  netperf.html  netperf.man     netperf.pdf  netperf.texi          netperf.xml    omni_output_list.txt

    Makefile   Makefile.in  netperf.info  netperf_old.ps  netperf.ps   netperf.txt           netserver.man  texinfo.tex 

    ./examples:

    arr_script*  Makefile.am  netperf_interim_to_rrd.sh*  runemomniagg2.sh           sctp_stream_script  tcp_range_script*  tcp_stream_script*  udp_stream_script

     Makefile     Makefile.in  packet_byte_script*  runemomni.sh                            snapshot_script*    tcp_rr_script*     udp_rr_script*

    2、显示长列表   

    (1)、ls –l   

       [root@localhost doc]# ls -l

            drwxrwxr-x. 2 root root    4096 9月  11 16:54 examples

    输出结果中,每一行都包含了关于文件的以下信息:

    • 文件类型,比如目录(d)、文件(-)、字符型文件(c)、或块设备(b);
    • 文件权限;
    • 文件的硬链接总数;
    • 文件属主的用户名;
    • 文件数组的组名;
    • 文件的大小(以字节为单位);
    • 文件的上次修改时间;
    • 文件名或目录名。

    3、过滤输出列表

      $ls –l Makefile

      [root@localhost doc]# ls -l Makef*

      -rw-r--r--. 1 root root 30370 9月  11 16:54 Makefile

      -rw-rw-r--. 1 root root   953 7月  20 2011 Makefile.am

      -rw-rw-r--. 1 root root 30180 7月  20 2011 Makefile.in

    • 问号(?)代表一个字符;
    • 星号(*)代表零个或多个字符。

    四、处理文件

         1、创建文件

                      $touch test_one

                      [root@localhost a5000]# touch test_one

                      [root@localhost a5000]# ls -l test_one

                      -rw-r--r--. 1 root root 0 9月  18 17:19 test_one

         2、复制文件

             (1)、$cp test_one test_two。

                      [root@localhost a5000]# cp test_one test_two

                      [root@localhost a5000]# ls -l test*

                      -rw-r--r--. 1 root root 0 9月  18 17:19 test_one

                      -rw-r--r--. 1 root root 0 9月  18 17:22 test_two

             (2)、$-i,强制shell询问是否需要覆盖已有文件。

                      [root@localhost a5000]# cp -i test_one test_two

                      cp:是否覆盖"test_two"?

             (3)、$-R,递归的复制整个目录的内容。

                      [root@localhost test]# ls

                      test1

                      [root@localhost a5000]# cp -R test/ test1

                      [root@localhost test1]# ls

                      test1

    五、链接文件

                      链接文件是Linux文件系统的一个优势,如果需要在系统上维护同一文件的两份或多份副本,除了保存单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占符位。在Linux中有两种类型的文件链接:

    • 符号链接
    • 硬链接

    (1)、符号链接

             符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件,这两个通过符号链接在一起的文件,彼此的内容并不相同,

             $ln –s

             要为一个文件创建符号链接,原始文件必须事先存在。

             [root@localhost test]# ln -s test1 test

          [root@localhost test]# ls -l

             lrwxrwxrwx. 1 root root 5 9月  19 09:02 test -> test1

             -rw-r--r--. 1 root root 0 9月    18 17:27 test1

             显示在长列表中符号文件后的->符号表明该文件是连接到test1上的一个符号链接。

    (2)、硬链接

             硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件,等同于引用源文件

             $ln

             [root@localhost test]# ln test1 test2

             [root@localhost test]# ls -il

             17634 -rw-r--r--. 2 root root 31 9月  19 09:26 test1

             17634 -rw-r--r--. 2 root root 31 9月  19 09:26 test2

    六、重命名文件

    (1)、文件和目录移动到另一个位置或重新命名

            &mv

             [root@localhost a5000]# mv ./test/test ./Test1/yanzheng

             [root@localhost Test1]# ll -s

             0 -rw-r--r--. 1 root root 0 9月  18 17:27 test1

             lrwxrwxrwx. 1 root root 5 9月  19 09:02 yanzheng -> test1

    (2)、使用mv命令移动整个目录及其内容

             root@localhost a5000]# mv test ./Test1/

             root@localhost Test1]# ls -il

             7628 drwxr-xr-x. 2 root root 4096 9月  19 09:36 test

             7631 -rw-r--r--. 1 root root    0 9月  18 17:27 test1

             7632 lrwxrwxrwx. 1 root root    5 9月  19 09:02 yanzheng -> test1

    七、删除文件

             $rm

             参数:

    •   i:提示你是不是真的要删除该文件;
    •   f:强制删除;

    八、创建目录

    1)       $mkdir

                      root@localhost a5000]# mkdir yy

                      root@localhost a5000]# ls -il

                      17629 drwxr-xr-x. 2 root root 4096 9月  19 10:02 yy

    2)       如果想同时创建多个目录和子目录,需要加入-p参数

                      [root@localhost a5000]# mkdir -p ./yy/yy1/yy2

                      [root@localhost a5000]# cd yy

                      [root@localhost yy]# ls

                      yy1

                      [root@localhost yy]# cd yy1

                      [root@localhost yy1]# ls

                      yy2

    九、删除目录

                      &rmdir

                      参数:

    • r 选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本;
    • f 强制删除,不提示(-rf没有警告信息,也没有提示)。

    十、查看文件

         10.1、查看文件类型

                      &file

                      [root@localhost Test1]# file test

                      test: directory

         10.2、查看整个文件

                      (1)、cat

                              cat命令是显示文本文件中所有数据的得力工具。

        • n 参数会给所有的行加上行号。
        • b 给文本加上行号。

                      (2)、more

                              more是分页工具,可以一页一页的显示文件内容。

        • 空格键:向下翻一页;
        • Enter:向下滚动一行;
        • q       :退出;
        • b       :往下翻页。

                      (3)、less

                              一页一页翻动。

    • l空格键:向下翻一页;
    • [PgUp]:向上翻动一页;
    •  [PgDn]:向下翻动一页;
    •  /字符串:向下查询“字符串”的功能;
    • ?字符串:向上查询“字符串”的功能;
    • n       :重复前一个查询;
    • N      :反复重复前一个查询;
    • q       :离开less程序。

                      (4)、tail

                              tail命令回显示文件最后几行的内容(文件的“尾部”)。

    • n 修改所显示的行数。
    • f 表示持续监测后面所接的文件名。

                      (5)、head

                              head命令,顾名思义,会显示文件开头那些行的内容。

        • n 修改所显示的行数。
  • 相关阅读:
    Nginx应用详解及配置
    mongodb复制+分片集原理
    memcached架构及缓存策略
    redis数据类型
    redis数据库安装 redis持久化及主从复制
    shell脚本-正则、grep、sed、awk
    kvm虚拟机管理基础
    kvm热添加和热迁移
    zabbix调用api检索方法
    kubernetes deployment升级和回滚
  • 原文地址:https://www.cnblogs.com/ykhyq/p/9674254.html
Copyright © 2011-2022 走看看