• Linux教程


    Linux

    目录结构

    /bin:(binary)存放的是一些二进制文件,但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用(非超级管理员用户)。

    /etc:Linux下所有的配置文件都会存放到etc目录。

    /home:是所有非root用户家目录的一个集合。

    /root:root用户的家目录。

    /sbin:sbin表示super bin(shell bin),里面同样也类似于bin目录,也存放了一些二进制文件,只不过这些命令只能是让超级管理员去运行。

    /usr:存放着一些用户自己安装的软件,其实类似于windows下的**Program Files**目录。

    /var:(variable)存放着Linux下的一些日志文件,在实际开发的时候有一些公司也习惯把Apache或者nginx的站点目录也会放到这个目录中。

    常用命令

    ls查看
    ll查看
    ls -la表示显示包括隐藏文件,l列表,a显示隐藏文件
    clear清空
    su切换用户:su admin,表示切换admin用户
    cd切换目录
    pwd打印当前路径
    创建用户:sudo useradd 用户名
    设计密码:sudo passwd 用户名      按回车设置
    cat /etc/group               查看用户组
    cat /etc/shadow              查看个人密码
    cat /etc/passwd              查看用户相关信息
    删除用户:userdel -r 用户名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    创建

    创建文件命令:touch
    touch dade.txt
    创建文件夹:命令:mkdir
    mkdir dadesa
    
    • 1
    • 2
    • 3
    • 4

    复制

    命令:cp
    cp [-r] 需要复制的文档 需要保存的位置。-r:表示递归。如果复制的是文件夹,则-r就不是选项,是必须要加的。
    cp dade.txt dades
    
    • 1
    • 2
    • 3

    移动/剪切/重命名

    命令:mv	(move)【剪切+粘贴】
    语法:#mv 需要操作的文档 新的文档的位置
    mv da.txt ../
    
    • 1
    • 2
    • 3

    删除

    命令:rm	(remove)
    语法:#rm [-rf] 需要删除的文档
    选项说明:
    	-r:表示递归
    	-f:force,表示强制,没有删除确认提示
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查看文档

    查看文档尾
    tail指令
    作用:查看一个文件的末n行
    语法:#tail -n 文件的路径
    说明:-n可以不写,不写,默认表示10行。从后面开始
    tail -21 da.txt
    
    查看文档头
    head指令
    作用:查看文件的头n行
    语法:#head -n 文件的路径
    注意:如果不指定-n则默认头10行。从头开始查
    head -11 da.txt
    
    查看全部
    car
    作用:查看某个文件的全部内容(将内容全部输出在命令行中)【正序】
    语法:#cat 文件路径1  文件路径2  文件路径3 …
    car da.txt
    
    查看全部
    tac指令
    作用:查看某个文件的全部内容(倒序的)
    语法:#tac 文件路径1  文件路径2  文件路径3…
    tac da.txt
    
    vim 打开文件编辑
    esc+shift+q
    q提出
    wq保存
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    关机,重新启动

    reboot重启计算机
    语法:#reboot
    
    shutdown 关机
    语法:#shutdown -h 时间
    shutdown -h now,表示立即关机
    
    halt指令
    作用:关机(关闭内存)
    语法:#halt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    进阶指令

    查看目录所占内存

    1、du指令
    作用:du表示directory used,显示出目录所占的磁盘空间大小的情况。
    语法:#du -sh 目录路径
    选项说明:
    	-s:表示sumary,汇总统计
    	-h:表示以较高可读性的形式显示
    du -sh www
    2、查看磁盘剩下多少
    df指令
    作用:disk free,查看磁盘的剩余空间的情况。
    语法:#df -h
    选项说明:
    	-h:表示以较高可读性单位进行查看。
    df -h
    
    3、free指令
    作用:查看内存的使用情况
    语法:#free -m
    选项含义:
    		-m:表示以mb为单位进行查看
    		
    4、文件查询
    find指令
    作用:表示根据条件去查询文档的所在位置。
    语法:#find 范围路径 选项 选项的值
    常见的选项:
    		-name:根据名字进行查询
    		-type:根据文档的类型进行查询。[d表示文件夹,f表示普通文件,s表示套接字文件,l表示连接文件,c表示字符设备文件,b表示块状设备文件]
    补充:-name选项支持通配符(“*”),模糊查询。
    find /-name *.txt -type f	
    find /-name da.txt -type f
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    查看进程

    查看进程
    ps指令
    作用:表示process show,查看进程
    语法:#ps -ef
    选项含义:
    		-e:等价于-A,all,表示全部
    		-f:表示full,显示全部的列
    ps -ef
    备注
    UID:该进程的启动用户名;
    PID:process id,进程的id号
    PPID:parent process id,父级进程id号
    C:表示的cpu的使用情况
    STIME:start time,启动时间
    TTY:终端的设备编号,“?”表示该进程不是由终端发起的
    TIME:持续运行的时间
    CMD:command,显示进程的名称或者位置
    
    结束进程的指令
    #kill PID
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    启动/停止/重启

    service指令
    作用:操作服务的(启动/停止/重启)
    语法:#service 服务名 start/stop/restart
    
    案例:使用service指令启动apache(httpd)
    #service httpd start
    注意:对于服务名是存在要求的,要求服务名必须存在于“/etc/init.d”目录下。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    搜索、过滤(重点grep)

    作用:搜索、过滤,主要用于对文件/内容进行筛选,选出需要的内容
    语法:#grep [选项] 关键词 文件路径/内容
    常见的选项:
              -v:排除
    重点突出显示,按行不显示
    grep "d" da.txt
    排除wq不显示这个,按行不显示
    grep -v "wq" da.txt
    
    扩展用法:
    #grep -E “关键词1|关键词2|…” 文件路径或内容
    	选项:-E表示extension,该语法表示多条件筛选,“|”表示or
    上述扩展用法等价于:
    #egrep “关键词1|关键词2|….” 文件的内容或路径
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    统计文件(行、单词数、字节数)

    wc指令
    作用:word count,其作用是用于统计文件的各项数值(行、单词数、字节数)
    语法:#wc -lwc 文档的路径
    选项含义:
    		-l:line,行数
    		-w:word,单词数
    		-c:byte,字节数
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    管道(重点通过|连接)

    管道严格意义上说其不是指令,其只是一个符号“|”。该符号主要起到辅助的作用,能够将多个指令合在一行上进行操作。主要用在搜索过滤等上面。
    
    **语法:#** **必须在终端中有输出内容的指令 |** **有输入的指令[****要求有读取文件内容的需求]**
     
    管道的核心理解概念:**管道前面的指令的输出其实就是管道后面指令的输入**。
    
    案例:通过ps指令查看进程,只查看httpd的进程。
    ps -ef | grep "httpd"
    
    管道
    /etc/passwd”文件是存储用户信息的文件,该文件中一行即为一个用户,要求使用所学的指令统计出当前计算机中一共有多少个用户。
    #cat /etc/passwd | wc -l
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    编辑器

    vi和vim都是Linux中的编辑器,不同的是,**vim****比较高级**,可以视为vi的升级版本。vi使用于文本编辑,但是vim更适用于coding(写代码的)。
    Vim重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用
    
    Vim的打开文件的方式:
    #vim 文件路径					作用:打开指定的文件(可以是不存在的)
    #vim  +数字  文件的路径			作用:打开指定的文件,并且将光标移动到指定行
    #vim  +/关键词  文件的路径		作用:打开指定的文件,并且高亮显示关键词(搜索)
    
    光标移动到首行行首
    按键:gg
    Shift + gg
    
    光标移动到末行行首
    按键:G			[Capslk 再加 G键] / [Shift + G键]
    Shift + G
    
    复制光标所在行
    按键:yy
    粘贴:在想要粘贴的地方按下p键【将粘贴在光标所在行的下一行】,如果想粘贴在光标所在行之前,则使用P键
    
    剪切/删除光标所在行
    按键:dd			(删除之后下一行上移)
    注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果。
    
    按键:D				(删除之后当前行会变成空白行)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    保存退出

    保存操作(write)
    输入:“:w”				保存文件
    输入:“:w  路径”		另存为 (了解) 
    
    退出(quit)
    输入:“:q”				退出文件
    默认情况下,退出的时候需要对已经进行修改的文件进行保存(:w),然后才能退出。
    
    保存并退出
    输入:“:wq”				保存并且退出
    
    强制 (!)  
    输入:“:q!”				表示强制退出,刚才做的修改操作不做保存
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    搜索

    **搜索/**查找

    输入:“**/**关键词”,再按下回车 【按下/也是进入末行模式的方式之一】

    liunx用户

    注意三个文件:

    /etc/passwd                存储用户的关键信息
    /etc/group                 存储用户组的关键信息
    /etc/shadow                存储用户的密码信息
    
    创建用户:sudo useradd 用户名
    设计密码:sudo passwd 用户名      按回车设置
    切换用户su 用户名
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    权限

    chmod [选项] 权限模式 文档
    
    给谁设置:
    	u:表示所有者身份owner(user)
    	g:表示给所有者同组用户设置(group)
    	o:表示others,给其他用户设置权限
    	a:表示all,给所有人(包含ugo部分)设置权限
    	如果在设置权限的时候不指定给谁设置,则默认给所有用户设置
    
    权限字符:
    	r:读
    	w:写
    	x:表示执行
    	-:表示没有权限
    	
    权限分配方式:
    	+:表示给具体的用户新增权限(相对当前)
    	-:表示删除用户的权限(相对当前)
    	=:表示将权限设置成具体的值(注重结果)【赋值】
    	
    所有者(u):rwx
    	同组用户(g):rw
    	其他用户(o):r
    	
    方式1:
    #chmod u=rwx,g=rw,o=r /root/anaconda-ks.cfg
    方式2:
    #chmod u+x,g+rw,o+r /root/anaconda-ks.cfg
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    安装

    1、rpm安装
    rpm
    优点:对于软件包的操作比较简单,通过简单指令即可操作
    缺点:
    	①安装时需要自行下载软件包
    	②安装、卸载软件时需要考虑到依赖关系
    	③软件的自定义性比较差,不适合有特殊需求的场景
    语法:
    ①查询
    	#rpm -qa 关键词					(查询机器上是否有安装指定的软件包)
    	选项说明:
    		-q:query,查询
    		-a:all,所有
    ②卸载
    	#rpm -e 软件包全称 [--nodeps]	(卸载软件,包的全称需要通过①去查询)
    	选项说明:
    		-e:卸载
    		--nodeps:忽略依赖关系
    ③安装
    	#rpm -ivh 软件包路径			(软件包的下载需要自行解决)
    	选项说明:
    		-i:install,安装
    		-v:显示安装过程
    		-h:以“#”形式显示安装过程
    ④更新(了解)
    	#rpm -Uvh 软件包路径			(软件包的下载需要自行解决)
    	选项说明:
    		-U:upgrade,升级
    		-v:显示安装过程
    		-h:以“#”形式显示安装过程	
    
    
    2、yum安装
    yum install php
    yum install mysql-server
    
    启动apache
    #service httpd start
    
    3、wget编译安装(难点)
    编译安装步骤:
    ①下载源码包
    ②解压源码包
    ③进入解压目录
    ④配置安装
    ⑤编译
    ⑥安装
    案例:编译安装Nginx。
    类似于apache,是一款开源的web服务器软件,其默认用的端口号也是80。
    
    ①下载nginx包
    下载地址:https://nginx.org/en/download.html
    复制下载地址。
    
    需要将下载地址在终端中输入,进行下载:
    #cd /usr/local/src
    #wget https://nginx.org/download/nginx-1.15.5.tar.gz
    解压
    #tar -zxvf 路径(针对.tar.gz格式)
    ⑤编译&&完成安装
    #make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61

    解压,压缩

    #tar -jxvf 路径(针对.tar.bz2格式)
    #tar -zxvf 路径(针对.tar.gz格式)          【当前选这个】
    
    解压:tar zxvf FileName.tar.gz
    压缩:tar zcvf FileName.tar.gz DirName
    
    • 1
    • 2
    • 3
    • 4
    • 5

    Git安装

    yum -y install git
    输入 git --version查看Git是否安装完成以及查看其版本号
    yum安装git被安装在/usr/libexec/git-core目录下
    
    • 1
    • 2
    • 3
  • 相关阅读:
    AJAX基础
    【ThreadLocal】Threadlocal的详细解释
    二叉树经典oj面试题
    github中.gitignore不起作用啦
    react中获取dom元素的高度(table铺满屏幕剩余高度)
    Golang对接Ldap(保姆级教程:概念&搭建&实战)
    BoW - Bag of Words - 词袋模型
    怎样查询服务器位置和IP地址?
    Scala 环境搭建
    优秀的Elasticsearch Java 客户端-Jest
  • 原文地址:https://blog.csdn.net/qq_34631220/article/details/128171917