Linux 基础

作者: dawsonenjoy | 来源:发表于2018-07-25 11:31 被阅读7次

    说明

    基于Cent OS

    6.5安装参考

    https://jingyan.baidu.com/article/ca2d939dd1dabbeb6c31ce24.html

    7.0安装参考

    https://jingyan.baidu.com/article/0964eca26fc3b38284f53642.html

    设置

    1.在当前窗口打开文件夹:computer-edit-preferences-behavior-always open in browers windows勾上

    知识点

    1.SHELL

    分为GUI(Graphical User Interface)和CLI(Command Line Interface)

    2.文件名

    大小写敏感、最多字符不超过255、除了/都是有效字符、以.开头为隐藏文件

    3.启动相关的文件都保存在/boot/当中

    4.根目录下文件

    bin     二进制可执行文件(所有用户都可执行,而sbin则为超级用户才可执行)
    boot    操作系统引导的东西都在这里(例如内核)
    dev     所有硬件设备
    etc     配置文件
    lib     库文件
    mnt     挂载目录(挂载U盘、光盘等,也可能挂载在media目录)
    proc    实时信息
    usr     默认装用户软件(大型软件默认装opt里)
    var     经常变化的东西(例如log)
    root        root用户(一般打叉,说明没权限看)
    
    5.按一下tab键补全,两下tab键出现补全提示
    6.linux下用户拥有三种权限
    r       读取(可以打开文件)
    w       写入(可以修改文件)
    x       执行(可以运行文件)
    

    基于UGO模型(user、group、other),对于每个都是以rwx顺序表示一个文件权限,例如输入ls -l显示详细信息看到一个文件:drwxr-xr-- 2 root root 4096 Oct 1 13:50 linuxcast,则前面d代表文件类型为文件夹,rwxr-xr--表示该文件所属用户三种权限都有,所属组只有rx权限,其他只有r权限,2为链接数量,第一个root表示文件所属用户,第二个root表示所属组,4096为文件大小,Oct 1 13:50为时间,linuxcast为文件名

    7.重定向

    数据流中包括标准输入(0)、标准输出(1)、标准错误(2),命令后面加> 文件名,则将标准输出内容(不含标准输入和标准错误内容)保存到该文件里(例如:ls -l > aaa,则将目录下详细信息保存到aaa中) ,但>为覆盖模式,如果再次保存新的内容,则原来的则消失,要追加内容则用>>;如果要保存标准错误则用2>(覆盖);如果报错和标准输出都想保存则2>&1;如果用<表示将某个内容标准输入给某个文件(例如:grep linux < /etc/passwd ,表示在该路径下查找包含linux的关键字的行)
    更多输入输出重定向参考:https://blog.csdn.net/zhaobeibei123/article/details/76602202

    8.管道

    将前一个命令的标准输出作为后一个命令的标准输入,用|隔开(例如:ls -l | grep linux,则为将当前目录详细信息输出,从这些信息中查找含有linux关键字的文件)

    9.通配符
    *       匹配N个字符(例如在当前文件夹列出所有D开头的文件的内容:ls D*)
    ?       匹配一个字符
    [0-9]   匹配一个数字范围
    [abc]   匹配列表任何字符
    [^abc]  匹配列表以外字符
    

    要注意的是^[]的里面和外面是不一样的,在里面是不要这些字符,在外面是代表定位在行首

    10.引号

    (1)单引号:单引号括起来的字符都当作普通字符
    (2)双引号:除$反双引号\以外的都当作普通字符,举例:

    dawson@dawson-PC:~/Desktop$ a=10
    dawson@dawson-PC:~/Desktop$ echo $a
    10
    dawson@dawson-PC:~/Desktop$ echo "$a"
    10      #""里$会转义
    dawson@dawson-PC:~/Desktop$ echo '$a'
    $a      #''里都是普通字符
    

    (3)倒引号:这个用来包命令的,会执行该命令,举例:

    dawson@dawson-PC:~/Desktop$ echo pwd is `pwd`
    pwd is /home/dawson/Desktop     #``包着的命令被执行
    
    11.环境变量

    (1)$HOME:用户主目录的全路径名,举例:

    dawson@dawson-PC:~/Desktop$ echo $HOME
    /home/dawson
    

    (2)$PATH:shell中命令存放的目录列表,举例:

    dawson@dawson-PC:~/Desktop$ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    

    注:
    如果加路径的话可以:PATH="$PATH":路径,举例:

    PATH="$PATH":/root
    

    (3)$PS1(数字1):shell主提示符,就是每行命令引号前面的那个,举例:

    dawson@dawson-PC:~/Desktop$ echo $PS1
    \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
    

    (4)$LOGNAME:注册名,举例:

    dawson@dawson-PC:~/Desktop$ echo $LOGNAME
    dawson
    

    (6)$MAIL:系统信箱的路径
    (7)$PWD:当前工作目录路径,举例:

    dawson@dawson-PC:~/Desktop$ echo $PWD
    /home/dawson/Desktop
    

    (8)$SHELL:当前使用的shell,举例:

    dawson@dawson-PC:~/Desktop$ echo $SHELL
    /bin/bash       #这里用的是bash
    

    (9)$TERM:终端类型,举例:

    dawson@dawson-PC:~/Desktop$ echo $TERM
    xterm-256color
    
    12.遇到-开头的文件名

    因为基本指令形式是:命令 -参数 文件,所以如果遇到-开头的文件名时就可能会导致误判命令,比如有个文件为-a,那么如果想看a目录下的信息输入:ls -a,则会被当成查看当前目录下所有文件的指令来处理,所以这个时候有两种方法避免,第一种,使用相对路径名,比如:ls ./-a,第二种是在前面加--,比如:ls -- -a

    13.反单引号

    不管在指令中还是shell脚本中,都会优先执行这里面的内容,比如:echo `ls`,则会先执行ls,然后把结果用echo输出

    14.env

    列出当前shell环境下所有环境变量及其内容

    15.常用快捷键
    ctrl+c          终止
    ctrl+d          关闭shell
    ctrl+m          就是回车
    ctrl+s          暂停屏幕输出
    ctrl+q          恢复屏幕输出
    ctrl+u          删除整行命令
    ctrl+z          暂停目前的命令
    ctrl+r          查找前面你打过的代码
    
    16.预定义的特殊变量

    $#:表示命令行上参数的个数,不包含shell脚本文件名
    $?:表示上一条命令执行后的返回值,执行成功返回0,失败则返回非0值
    $$:表示当前进程的进程号
    $!:表示上一个后台命令对应的进程号
    $-:是由当前shell设置的执行标志名组成的字符串
    $*:表示命令行中实际给出的所有实参字符串
    $@:与$*基本一样,但$*相当于将获取的所有参数放在一个字符串里,而$@是将所有参数放在不同的单独字符串里

    相关文章

      网友评论

        本文标题:Linux 基础

        本文链接:https://www.haomeiwen.com/subject/ejnymftx.html