Linux 基础

说明

基于Cent OS

6.5安装参考

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

7.0安装参考

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

设置

1.在当前窗口打开文件夹:computereditpreferencesbehavioralways 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设置的执行标志名组成的字符串
$*:表示命令行中实际给出的所有实参字符串
$@:与$*基本一样,但$*相当于将获取的所有参数放在一个字符串里,而$@是将所有参数放在不同的单独字符串里

    原文作者:dawsonenjoy
    原文地址: https://www.jianshu.com/p/9b3366816a02
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞