linux基础命令1

回显命令:echo
内建命令
echo "How are you"
echo "$SHELL" 弱应用,显示变量中的值
/bin/bash
echo '$SHELL' 强引用类型,不会显示变量中的值
$SHELL
-n:禁止显示换行符,默认自动加换行符
-e:允许使用转义符
\n:换行
\t:制表符
echo -e "\n 哈哈"

我们提供的服务有:成都网站制作、网站建设、微信公众号开发、网站优化、网站认证、复兴ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的复兴网站制作公司

显示文件的路径:which
which [OPTION] COMMAND
--skip-alias 不显示别名

whereis:locate the binary,source,and manual page files for a COMMAND
whatis
使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字
创建一个数据库
Linux会自动运行创建这个数据库

系统管理类命令:
关机:
halt,poweroff,shutdown,init 0
shutdown是安全关机方式

重启:
    reboot,init 6,shutdown
与用户登录有关的:
    w,who,whoami
    whoami:
        看当前用户是谁
    who:
        显示当前有哪些用户登录系统
    w: show who is logged on and what they are doing

关机或重启命令:
    halt,poweroff,reboot
        -f 强制关机,不建议。不保存。
        -p 切断电源。

    shutdown
        shutdown [OPTION]...  TIME [MESSAGE]
            -r reboot
            -h halt 切断电源。
            -c cancel 取消shutdown
            TIME: 
                now 0也是现在
                +m:表示从命令提交开始m分钟之后
                hh:mm 绝对时间。 
            MESSAGE:警告的内容

Linux的文件系统
根文件系统(rootfs):
root filesystem

LSB:FHS (FileSystem Heirache Standard)
    /etc,/usr,/var,/root,/home,/dev

    /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)
    都存放在此目录
    /bin:供所有用户使用的基本命令:不能关联至独立分区,OS启动就用到的程序放在这里
    /sbin:管理类的基本命令;不能关联至独立分区,OS启动就用到的程序放在这里.
    /lib:基本的共享库和内核模块,以及内核模块文件(/lib/modules);
    /lib64:专用于x86_64基本的共享库和内核模块,以及内核模块文件;
    /etc:配置文件目录(纯文本文件)
    /home/USERNAME:家目录
    /root:管理员的家目录
    /media:Mount point for removeable media
    /mnt:Mount point for temporarily media
    /dev:Device files;设备文件及特殊文件
        b:block Device --可随机访问
        c:character device --必须顺序访问

    /opt Add-on application software packages
        第三方应用程序的安装位置。
    /srv:系统上运行的服务用到的数据
    /tmp:临时文件存放位置

    /usr:一般独立分区
        universal shareable read-only data
        必须有下列目录
        bin:存放系统完成基本功能的程序,不是启动时的
        sbin
        lib
        lib64
        include:c程序的头文件存放位置
        share:结构化独立的数据,例如doc,man等
        src:源代码所在位置
        local:Local hierachy;第三方应用程序的安装位置,目前最常见,也可以mount到独立的文件系统
            bin,sbin,lib,lib64
    /var: Hierarchy
        经常发生变化的数据文件存放位置
        cache:应用程序缓存数据目录
        lib:应用程序状态数据
        local:专用于为/usr/local下的应用程序存储可变数据
        lock:应用程序的锁文件
        log:日志文件
        opt:专用于/opt下的可变数据
        run:运行中的进程相关数据;通常用于存储进程的PID文件
        spool:缓冲池
        tmp:系统2次重启过程中的临时文件存放位置
    /proc:伪文件系统,用于输出内核与进程信息相关的虚拟文件系统。
    /sys:伪文件系统,用于输出当前系统上硬件设备相关信息的虚拟文件系统。
    /selinux:security enhanced Linux,selinux相关的安全策略等信息的存储位置。

Linux上的应用程序的组成部分
    二进制程序: /bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
    库文件: /lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib
    配置文件:/etc,/etc/directory,/etc/local/etc
    帮助文件:/usr/share/man,/usr/share/doc ,/usr/local/share/man,/usr/local/share/doc

Linux下的文件类型:
    - (f):普通文件
    d:目录文件
    b:块设备:
    c:字符设备
    l:符号链接文件,软连接文件
    p:管道文件;
    s:套接字文件;socket文件

bash的基础特性:
(1) 命令历史
history
环境变量:
HISTSIZE:命令历史记录的条数:
HISFILE: ~/.bash_history;
HISFILESIZE; 命令历史文件记录历史的条数;

        history -d OFFSET 删除指定条目的历史记录
            -c 清空
        history #:显示最近的number个历史记录
        -a:append;手动追加当前会话缓冲区的命令历史至历史文件中。

    调用历史中的命令:
        !!:最近一次命令
        !# :第#号命令
        !string:最近一个已制定字符串开头的历史命令
    调用上一条命令的最后一个参数
        !$:
            上一条命令: cat /etc/fstab
            当前命令:ls -l !$  #相当于 ls -l /etc/fstab
        ESC, .
    控制命令历史的记录方式:
        环境变量:HISTCONTROL
            ignoredups:忽略重复的命令,连续而且相同
            ignorespace:忽略所有以空白字符开头的命令
            ignoreboth:以上二者都生效
        修改环境变量的方式:(只对当前shell和子进程有效)
            export 变量名=.....
(2)命令补全
    bash执行命令:
        内部命令:build in
        外部命令:搜索$PATH环境变量定义的路径,自左向右在每个路径搜寻以用户给定
        名命名的文件,第一次找到的即为要执行的命令。

(3) 路径补全
(4) 命令行展开
    ~:展开为用户的家目录
    ~USERNAME :展开为USERNAME的家目录
    {}:可承载一个以逗号分隔的列表,并将其展开为多个路径。
        /tmp/{a,b} = /tmp/a,/tmp/b
    例子:
        (1):如何创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,
        /tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b
            mkdir -p /tmp/x/{y1,y2}/{a,b}
        (2):如何创建x_m,y_m,x_n,y_n
            mkdir -p /tmp/{x,y}_{m,n}
        (3):如何创建/tmp/bin,/tmp/sbin,/tmp/usr,/tmp/usr/bin,
        /tmp/usr/sbin
            mkdir -p /tmp/{bin,sbin,usr/{bin,sbin}}
(5) 命令的执行结果状态
    bash使用特殊变量$?保存最近一条命令的执行状态结果。
        0:成功
        1-255:失败

目录管理类命令:
cd pwd,ls
mkdir rmdir ,tree
mkdir [option] /path/to/somewhere /path/to/somewhere2
可以用空格,一次创建多个目录。
-p:存在也不报错。如果需要,自动创建父目录。
-m mode ,创建目录时直接指定权限。
rmdir [option] /path
只能删除空目录
-p: 删空目录,一直追溯到不空的父目录

tree:
    树状结构显示
    -d 仅显示目录
    -L:最多显示多少层级。

文件查看类命令
cat,tac
more,less,tail,head

more [option] [file]

less [option] [file]

head [option] [file]
    -c #:指定获取前#个字节
    -n #:指定获取前#行;默认就是前十行

tail [option] [file]
    与head类似
    -f 继续跟踪file新追加的内容。查看log文件特别有用

文件的时间戳管理工具
touch
文件:metadata,data
查看文件状态:stat
三个时间戳:
access time,atime: 访问时间,只要用可执行程序访问过,就更新此时间
modify time,mtime:修改时间,改变文件内容,更新这个数据
change time ctime: 改变时间,元数据改变,更新这个数据,而元数据包含这三个时间戳
所以,如果atime和mtime改变了。那么ctime也改变了。
touch [option] [file]
默认touch会改变文件的atime、mtime、ctime
-a: 只改变访问时间
-m:只改变修改时间戳
-t:指明时间戳
touch -m -t 201909011234666 /etc/fstab
-c: 如果文件不存在,那么不创建文件。


网站题目:linux基础命令1
浏览地址:http://ybzwz.com/article/gpedjc.html