Linux:入门基础 常用命令 面试必学

   日期:2020-10-07     浏览:147    评论:0    
核心提示:操作系统Windows 10操作系统的分类桌面操作系统服务器操作系统嵌入式操作系统移动设备操作系统桌面操作系统Window 系列macOSLinux服务器操作系统LinuxWindows Server嵌入式操作系统LinuxLinux分类商业版 Redhat稳定版 6.4 6.6 6.8 7.0(偶数)开发板 6.5 5.7 6.9 (奇数)免费版 CentOS稳定版6.4 6.6 6.8 7.0开发

操作系统

  • Windows 10

操作系统的分类

  • 桌面操作系统
  • 服务器操作系统
  • 嵌入式操作系统
  • 移动设备操作系统

桌面操作系统

  • Window 系列
  • macOS
  • Linux

服务器操作系统

  • Linux
  • Windows Server

嵌入式操作系统

  • Linux

Linux分类

  • 商业版 Redhat
  • 稳定版 6.4 6.6 6.8 7.0(偶数)
  • 开发板 6.5 5.7 6.9 (奇数)
  • 免费版 CentOS
  • 稳定版6.4 6.6 6.8 7.0
  • 开发板 6.5 5.7 6.9

界面最好的

  • Ubuntu

国内的

  • 红旗
  • 中标麒麟

Linux 系统需要记住的目录

  • /etc: 系统配置,启动程序
  • /home:普通用户的家,目录默认数据存放目录
  • /mnt:临时挂载储存设备的挂载点,u盘插入光驱无法使用,需要挂载然后使用
  • /opt:额外的应用软件包
  • /root:Linux超级权限用户root的家目录
  • /tmp:临时文件目录,这个目录被当作回收站使用

文件夹的增删改查

  • 添加:mkdir 文件夹名
    mkdir –p 文件夹名
  • 删除:rm –rf 文件夹路径
  • 修改:mv 要修改的文件夹路径(名) 修改后的文件夹路径 (名)
  • 查询:ll [-a]
    ls [-a] [-l]
  • 复制:cp [-a/-r] 原文件夹 目标文件夹

文件的增删改查

  • 添加:touch 空文本
    echo ‘内容’ > 或 >> 文本

  • 删除:rm –rf 文件路径(名)

  • 修改:mv 修改前文件路径(名) 修改后文件路径(名)

  • 查询:ll [-a]
    ls [-a] [-l]

  • 查看内容
    前10行:head 文件名
    head -10 文件名
    后10行:tail -10 文件名
    后n行:tail -n 文件名

  • 查看所有
    cat 文件名

  • 数据过滤
    grep [参数] 关键字 文件名

  • 编辑:vi 或者 vim

其他

  • 当前所在的目录:pwd
  • 清空屏幕:clear
  • 软连接:ln -s 目标文件绝对路径 快捷方式路径
  • 帮助文档:命令+ --help
  • &&:前面的命令执行成功再执行后面的。
  • ||:前面的命令执行失败再执行后面的。

Vi编辑器的常用命令

VI编辑器的三种模式

  • 命令模式
  • 编辑模式
  • 末行模式

末行模式

  • 保存并退出 :wq 或者 x!
  • 不保存强制退出 :q!

行内移动

  • 以单词为单位向后移动 w
  • 以单词为单位向前移动 b
  • 光标移动到行首 0 或者 ^
  • 光标移动到行尾 $

行数移动

  • 移动到首行 gg
  • 移动到尾行 G
  • 定位到某一行 数字gg 或者 数字G 或者 :数字

段落

  • 以段落为单位后移 }
  • 以段落为单位前移 {

撤销

  • 撤销命令 u
  • 取消撤销/恢复撤销 Ctrl+r

删除文本

  • 删除多行 数字dd
  • 删除一行 dd
  • 在光标所在的位置删除至行尾 D
  • 在光标所在的位置删除至行首 d0 或者 d^
  • 剪切 x

复制

  • 复制多行 数字yy
  • 复制一行 yy
  • 粘贴 p

替换的命令

  • 替换的是光标所在的位置以及后面的数据 R
  • 只替换光标右侧的第一个字符 r

文件夹内查找

  • 通过文件名指定路径查找 find 路径 -name *.txt
  • 通过文件名在当前路径查找 find -name *.txt

文件内查找

  • /查找的内容
  • 向上查找 N
  • 向下查找 n

文件内替换

  • :%s/旧文本/新文本/g [c]

压缩命令

  • gzip
    压缩文件 tar zcvf 压缩文件名.tar.gz 被压缩的文件/文件夹
    解压压缩文件 tar zxvf 压缩的文件名.tar.gz -C 路径
  • bzip2
    压缩文件 tar jcvf 压缩文件名.tar.bz2 被压缩的文件/文件夹
    解压压缩文件 tar jxvf 压缩的文件名.tar.bz2 -C 路径

关机

  • halt

重启

  • reboot

用户权限

  • drwxr-xr-x. 2 root root 4096 9月 14 23:15 aa (如下解释)

  • d:表示文件夹

  • rwx:当前用户具备的权限

  • r-x:当前用户所属的组具备的权限

  • r-x:其他用户所具备的权限

  • root:文件所属的用户

  • root:文件所属的用户所属的组

  • 4096 :文件大小

  • 9月:文件创建的月份

  • 14 23:15:文件创建的日期

  • aa:文件名

  • 读权限:数字表示4

  • 写权限:数字表示2

  • 执行权限:数字表示1

  • 读写执行能够构成的数字和是1、2、3、4、5、6、7

用户和组的添加

  • 组的操作

    • 添加组 groupadd 组名
    • 删除组 groupdel 组名
    • 查询当前所有的组 cat /etc/group
    • 修改组 chgrp 组名 文件/目录名
  • 用户的操作

    • 添加用户同时指定组 useradd -g 组名 用户名
    • 添加用户 useradd 用户名 【未指定组时,创建一个与用户名相同的组】
    • 删除用户(删除家目录):userdel –r 用户名
    • 查看当前用户 cat /etc/passwd
    • 为用户设置密码 passwd 用户名

用户切换

  • Su 用户名
  • Root用户 切换到普通用户无需密码,普通用户之间切换需要密码
  • 退出用户 exit
  • 普通用户临时借用root权限使用sudo 命令【普通用户已经添加到/etc/sudoers文件中】

修改权限

  • chmod [-R] 777 文件名/文件夹名
  • chmod +/- rwx 文件名|目录名
  • chmod -R u=rwx,g=rwx,o=rwx 文件名|目录名

修改文件所属的组

  • chown -R 新用户:新用户的组 文件名/文件夹名

其他命令

  • 获取当前日期:date
  • 更新当前日期:date -s “yyyy-MM-dd HH:mm:ss”
  • 查看磁盘空间:df -h
  • 查看某一目录所占空间大小:du -h
  • 查看进程详细信息:ps aux
  • 查看cpu内存等使用情况:top
  • 杀死某一进程:kill [-9] 进程号
  • 查看内存使用率:free –h [-m/-g]

Cut

  • 按照字符提取 head -2 1.txt | cut -c 5
  • 指定分隔符 head -2 1.txt | cut -d ‘:’ -f 1,2

Sort

  • 文本排序 sort 文件名
  • 文本排序反转 sort -r 文件名
  • 文本排序去重 sort -u 文件名
  • 数值按大小排序 sort -n 文件名
  • 指定分隔符、指定排序列 sort -t ‘分隔符’ -k2nr 文件名

Wc

  • 查看文件基本信息 wc 文件名
  • 查看文件行数 wc – l 文件名
  • 查看文件单词数 wc -w 文件名
  • 查看文件字节 wc -c 文件名
  • 查看多个文件信息 wc 文件1 文件2 文件3

Uniq

  • 与sort连用
  • 排序、去重 cat 5.txt | sort | uniq
  • 排序、去重计算总数 cat 5.txt | sort | uniq -c

Tee

  • 数据定位到多个文件 cat 5.txt | tee a.txt b.txt c.txt

Tr

  • 小写i 替换成 echo “itheima” | tr ‘i’ ‘I’
  • 把 HELLO 转成 小写 echo “HELLO” |tr ‘[A-Z]’ ‘[a-z]’
  • 删除数字 echo ‘abc1d4e5f’ | tr -d ‘[0-9]’

Split

  • 按照文件大小切分 split -b 10k 被切分的文件
  • 按照行数进行切分 split -l 1000 被切分的文件

Awk

  • 模糊查询 awk ‘/条件/’ 文本名
  • 按照分隔符拆分,根据角标显示

awk -F ‘,’ ‘{print $1, $2, $3}’ 1.txt

  • 按照分隔符拆分,根据角标显示并指定分隔符
    awk -F ‘,’ ’ {OFS="==="}{print $1, $2, $3}’ 1.txt
  • 支持函数
    awk -F ‘,’ '{print toupper($2),$3100}’ 1.txt

If判断语句

  • awk -F ‘,’ ‘{if($4>60) print $1, $4, “及格”; else print $1, $4, “不及格”}’ score.txt

Shell编程

Shell 脚本的解释器

  • /bin/sh
  • /bin/bash
  • /sbin/nologin
  • /bin/dash
  • /bin/tcsh
  • /bin/csh

脚本的编写规范

  • 首行描述解释器 #!/bin/bash

执行脚本的三种方式

  • bash 脚本名称 脚本参数
  • sh 脚本名称 脚本参数
  • /脚本名称 脚本参数【./脚本名称之间没有空格】【chmod 777 脚本名称】

变量的声明

  • 变量名=”值”【中间不能有空格】
  • 变量名要求 字母或下划线或数字(开头不能是数字)构成

变量的引用

  • 使用$ 或 ${}引用变量
  • 删除变量 只读变量
  • 删除 unset 变量名
  • 只读 readonly 变量名

字符串使用

  • 双引号(””):内部可以使用变量
  • 单引号(‘’):内部所有的原样输出
  • 反引号(``):表示可执行

字符串长度及截取

  • 长度: echo ${#skill}
  • 截取: echo ${str:2:2} 【在第二个字符开始截取截取两位】

脚本参数传递

  • bash 脚本名 参数1 参数2 参数3 。。。。。。
  • 脚本内
  • $0 脚本名称
  • $1 参数1
  • $2 参数2
  • $n 参数n
  • $* 所有参数
  • $# 参数的个数

算数运算符

  • 加法计算 expr 2 + 2
  • 乘法计算 expr 2 \* 2

流程控制if

  • if [ $a -gt 10 ];then
    代码1
    elif [ $a -lt 10 ];then
    代码2
    else
    代码3
    fi

关系运算符

  • 大于:-gt
  • 小于:-lt
  • 大于等于:-ge
  • 小于等于 :-le
  • 小于:-eq
  • 不等于 :-ne

循环

  • For 循环:
    For aa in XXXX
    do
    循环体
    done
  • While循环:
    While 条件 ;
    do
    循环体
    done

跳出循环

  • 跳出所有循环:break
  • 跳出当前循环,进入下一次循环:continue

case ()

  • case 值 in
    结果1)
    结果1对应的操作;;
    结果2)
    结果2对应的操作;;
    结果3)
    结果3对应的操作;;
    esac

接收控制台数据

  • read 变量名

函数的使用

  • 函数声明:
    [function] 函数名(){
    函数体
    $参数1
    $参数2
    $参数3
    }

函数调用

  • 函数名 参数1 参数2 参数3

数组

  • 数组声明: 数组名称=(元素1 元素2 元素3 元素4)

数组的使用

  • 单个使用 echo 数组名[角标] 【角标从0开始】
  • 遍历数组
    for var in ${my_arr[*]}
    do
    echo $var
    done

文件加载

  • 在文件中添加 . 脚本名称 或者 source 脚本名称
    #!/bin/bash
  • source ./test1.sh :加载test1.sh 的文件内容
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服