• linux-bash特性


    (1) ls
    -l:长格式
    文件类型:
    -:普通文件 (f)
    d: 目录文件
    b: 块设备文件 (block)
    c: 字符设备文件 (character)
    l: 符号链接文件(symbolic link file)
    p: 命令管道文件(pipe)
    s: 套接字文件(socket)
    例:ls -ld /root 显示/root自身的信息。

    (2) 文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
    文件硬链接的次数
    文件的属主(owner)
    文件的属组(group)
    文件大小(size),单位是字节
    时间戳(timestamp):最近一次被修改的时间
    访问:access
    修改:modify,文件内容发生了改变
    改变:change,metadata,元数据
    -h:做单位转换(文件的大小以人们可读的形式显示)
    -a: 显示以.开头的隐藏文件
    . 表示当前目录
    .. 表示父目录
    -A:和-a的区别,只有 . 和 .. 不同。
    -d: 显示目录自身属性
    -i: index node, inode(显示文件的索引号)
    -r: 逆序显示
    -R: 递归(recursive)显示

    (3) cd: change directory
    家目录,主目录, home directory(单独输入cd,进入家目录)
    cd ~USERNAME: 进入指定用户的家目录
    cd -:在当前目录和前一次所在的目录之间来回切换

    (4) 显示当前缓存中的命令(即输入过的命令)
    hash

    (5) type: 显示命令属于哪种类型(内部命令 or 外部命令)

    (6) 获得命令的使用帮助:
    内部命令:
    help COMMAND
    外部命令:
    COMMAND --help

    (7) 命令手册:manual
    man COMMAND
    例:man ls
    man mount
    man 2 read //显示read命令的第二章节。
    export LANG=en //导入后,显示英文命令手册。

    查找命令出现在手册的什么地方:whatis COMMAND

    分章节:
    1:用户命令(/bin, /usr/bin, /usr/local/bin)
    2:系统调用
    3:库用户
    4:特殊文件(设备文件)
    5:文件格式(配置文件的语法)
    6:游戏
    7:杂项(Miscellaneous)
    8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)

    (8) 命令格式说明
    <>:必选
    []:可选
    ...:可以出现多次
    |:多选一
    {}:分组

    (9) MAN:
    NAME:命令名称及功能简要说明
    SYNOPSIS:用法说明,包括可用的选项
    DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
    OPTIONS:说明每一个选项的意义
    FILES:此命令相关的配置文件
    BUGS:
    EXAMPLES:使用示例
    SEE ALSO:另外参照

    翻屏:
    向后翻一屏:SPACE
    向前翻一屏:b
    向后翻一行:ENTER
    向前翻一行:k

    查找:
    /KEYWORD: 向后
    n: 下一个
    N:前一个

    ?KEYWORD:向前
    n: 下一个
    N:前一个
    q: 退出

    (10) hwclock
    -w: 从系统时间设置硬件时钟。
    -s: 从硬件时钟设置系统时钟。

    (11)显示系统环境变量
    printenv

    (12)
    /root/ — 根用户(超级用户)的主目录。
    /boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
    /initrd/ — 用来在计算机启动时挂载 initrd.img 映像文件的目录以及载入所需设备模块的目录。

    /dev: 设备文件
    设备文件:
    块设备:随机访问,数据块
    字符设备:线性访问,按字符为单位
    设备号:主设备号(major)和次设备号(minor)
    /etc:配置文件
    /home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
    /root:管理员的家目录;
    /lib:库文件,是内核级的。仅仅被/usr目录下的程序所使用的共享库不必放到/lib目录下。只有/bin和/sbin下的程序所需要的库有必要放到/lib目录下。
    静态库, .a :每个程序都要加载。
    动态库, .dll, .so (shared object) :仅加载一次到内存,其它程序无需重复加载,可以直接使用。
    /lib/modules:内核模块文件

    附加说明:
    /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。
    /lib目录下放置的是/bin和/sbin目录下程序所需的库文件。/lib目录下的文件的名称遵循下面的格式:
    libc.so.*
    ld*

    /media:挂载点目录,通常挂载移动设备,光盘等。
    /mnt:挂载点目录,额外的临时文件系统
    /opt:可选目录,第三方程序的安装目录。不过目前这个改了,第三方程序都放在usr/local下。
    /proc:伪文件系统,内核映射文件(是系统运行后,产生的临时映射文件)。
    /sys:伪文件系统,跟硬件设备相关的属性映射文件。
    /tmp:临时文件( /tmp 给予所有系统用户读写权。), /var/tmp
    /var:可变化的文件
    /bin: 可执行文件, 用户命令在此文件夹。
    /sbin:管理命令在此文件夹。许多系统命令(例如 shutdown)的贮存位置。

    /usr:(全称:universal shared, read-only)全局的共享的只读文件。
    /usr/bin
    /usr/sbin 目录 /usr/sbin 中也包括了许多系统命令。
    /usr/lib 系统级的。

    /usr/local:第三方软件安装目录。
    /usr/local/bin
    /usr/local/sbin
    /usr/local/lib 用户级的。

    (13), 命名规则:
    1、长度不能超过255个字符;
    2、不能使用/当文件名
    3、严格区分大小写

    (14)
    mkdir:创建空目录
    -p: 同时创建多级目录
    -v: verbose 详细信息
    例如:mkdir -p /root/x/y/z
    mkdir -pv /root/x/y/z

    要创建:/mnt/test/x/m 和 /mnt/test/y两个目录,命令如下:
    mkdir -pv /mnt/test/x/m /mnt/test/y
    mkdir -pv /mnt/test/{x/m,y}

    (15)命令行展开
    要在/mnt/test2/下,创建以下4个目录:
    a_b, a_c, d_b, d_c
    例如:
    遵守如下规则:
    (a+d)(b+c)=ab+ac+db+dc
    {a,d}_{b,c}=a_b,a_c, d_b, d_c
    方法如下:
    mkdir -pv /mnt/test2/ {a,d}_{b,c}

    # tree:查看目录树

    删除目录:rmdir (remove directory)
    删除空目录
    -p:删除到上一级非空目录。

    (16) 文件创建和删除
    # touch 主要功能不是为了创建文件,主要是用于修改文件的时间戳。
    -a :只改变访问时间。例:touch -a a文件
    -m :只改变修改时间。
    -t :制定访问/修改时间。例:touch -m -t 201807011211 a文件
    -c
    Access: 访问时间
    Modify:修改时间
    change:改变时间,此时间不可修改。


    (17),删除文件
    rm 是 rm -i的别名。想利用原生rm,可以用 m。
    -i :交互命令
    -f:强制删除。
    -r:递归删除

    例如:rm -rf / :删除根目录,以及根目录下所有文件。

    (18),复制
    cp: copy
    cp SRC DEST :默认只复制文件,不复制目录。
    -r: 可以复制目录,并递归复制目录下的文件。
    -i: 交互式
    -f: 强制复制
    -p: 复制文件时,保留文件原有的属主,属组,时间戳。不加此参数,则文件是谁复制,则属组,属主是谁。
    -a:归档复制,常用于备份
    -d: 复制链接本身,不是链接指向的文件。

    复制文件的规则:
    可以复制一个文件到一个文件;
    可以复制多个文件到一个目录;
    例:
    cp /etc/{passwd,inittab,rc.d/rc.sysinit} /tmp/ 同时复制多个文件到 tmp目录下。
    cp /etc/a.txt /tmp/ 把a文件复制到文件夹tmp下,文件名称还是a.txt
    cp /etc/a.txt /tmp/b.txt 把a文件复制到文件夹tmp下,文件名称是b.txt
    cp /etc/a.txt /etc/b.txt /tmp/ 把文件a.txt,b.txt复制到tmp文件夹下。

    (19),移动文件
    mv: move
    mv SRC DEST
    mv -t DEST SRC 颠倒源和目的,使用-t参数。
    例:
    mv /tmp/hello/ /var/tmp/abc abc不存在时,复制目录hello,并重名为abc.
    mv abc mn 在同一目录下,不管abc为文件or目录 都重命名为mn。

    (20),拷贝文件,设置属性。
    install 默认情况下,用Install复制文件后,会为文件添加执行权限。
    -d DIRECOTRY ... :创建目录
    SRC DEST
    install -t DIRECTORY SRC... 颠倒源和目的,使用-t参数。
    例:
    install /etc/updatedb.conf /tmp/ -m -rwxrwxrwx
    install /etc/updatedb.conf /tmp/ -m 777 (-m修改权限。)

    ------山的那一边
  • 相关阅读:
    引用kernel32.dll中的API来进行串口通讯
    vs2017 项目生成时不产生xml文件的方法
    session的处理机制
    用户未登录或Session超时时重定向到登录页,不那么简单
    VS C# debug文件夹中各文件的作用
    Tomcat(免安装版)的安装与配置【转】
    关于C#关闭窗体后,依旧有后台进程在运行的解决方法
    DatakeyNames和datakey
    ASP.NET页面生命周期描述
    比较C#中几种常见的复制字节数组方法的效率
  • 原文地址:https://www.cnblogs.com/mountain2011/p/9249832.html
Copyright © 2020-2023  润新知