LINUX Ubuntu16 入门学习记录20220605

LINUX Ubuntu16 入门学习记录(持续更新ing)



前言

最近需要使用到 Linux 系统,以后可能对自己也会有所帮助,所以在此记录一下自己的学习记录,也希望读一些读者能提供帮助,有问题的可以在评论区提出,共同进步。


一、Ubuntu 终端操作与常用shell命令

  1. 目录信息查看命令 ls
ls -a:显示目录所有文件及文件夹,包括隐藏文件,比如以.开头的
ls -l:显示目录所有文件及文件夹详细内容
ls -al:显示目录所有文件及文件夹,包括隐藏文件的详细内容
  1. 目录切换命令 cd
    (注:"/ “指的是Linux系统的根目录;”~"指的是Linux系统的用户目录; 输入目录时可以不用输完,按下tab键自动补全)
列:cd /home/loki/
  1. 当前路径显示命令 pwd
  2. 系统信息查看命令 uname
uname -a:显示全部系统信息
  1. 清理屏幕命令 clear(实际上没清,鼠标往上滚一下能看到)
  2. 显示文件内容 cat
  3. 切换用户身份命令 sudo(相当于拥有了root权限)
例:sudo apt-get install mplayer(安装mplayer软件)
注:直接切换root身份:sudo su(尽量不用这个方式,切换回来的方式也是输入同样的命令)
  1. 创建文件命令 touch
例:touch a.c(创建了一个a.c文件)
  1. 文件拷贝命令 cp
例:cp a.c b.c(拷贝a.c文件并重命名为b.c文件)
  1. 删除命令 rm
例:rm a.c

rm常用的一些参数搭配
11. 创建文件夹命令 mkdir

例:mkdir test
注:返回上一级:cd ../
返回上上一级:cd ../../
.....
  1. 目录删除命令 rmdir
例如:rmdir test/
  1. 移动文件命令(重命名命令)mv
例:mv a.c test/ (移动)
mv a.c b.c(重命名)

14.显示网络配置命令 ifconfig

在这里插入图片描述
14. 重启命令 reboot
15. 关机命令 poweroff
16. 系统帮助命令 man
17. 数据同步写入磁盘命令 sync
18. 查找文件命令 find

例:find -name a.c (./指的是当前目录下)
  1. 查找内容命令 grep(注:查找过程中想中断就是ctrl+c)
  2. 文件夹大小查看命令 du
  3. 磁盘空间检查命令 df
  4. 使用gedit打开某文件命令 gedit(相当于Windows下的记事本)
例:gedit a.c
  1. 当前系统进程查看命令 ps
  2. 进程实时运行状态查看命令 top(按q键退出)
  3. 文件类型查看命令 file

二、软件安装

  1. 使用apt工具安装
    使用apt包管理工具,可以自动下载,配置,安装;
    使用前提是需要sudo,也就是root权限
例:sudo apt-get install git
  1. 使用deb软件包安装
    安装命令:sudo dpkg -i xxxx.deb
    注:在Windows下,我们安装的是.exe文件,在Ubuntu就是.deb,启动它就是输入上方命令进行安装
  2. 自己下载源码安装(例:安装tree)
    (1)从网站http://mama.indstate.edu/users/ice/tree/上下载压缩包(或者百度tree源码下载)
    (2)保存到下载,并解压
    在这里插入图片描述

(3)打开解压后的文件夹,找到README打开,根据开头的提示“Please read the INSTALL file for installation instructions”,找到INSTALL打开
(4)得到如下提示:
Edit the Makefile for your OS.
Type: make
Type: make install
(5)在终端中进行如下操作:

~/下载$ ls
tree-2.0.2  tree-2.0.2.tgz
~/下载$ cd tree-2.0.2
~/下载/tree-2.0.2$ ls
CHANGES  file.c    html.c   json.c   Makefile      TODO    unix.c
color.c  filter.c  info.c   LICENSE  README        tree.c  xml.c
doc      hash.c    INSTALL  list.c   strverscmp.c  tree.h
~/下载/tree-2.0.2$ make
~/下载/tree-2.0.2$ sudo make install

下载完成,可以输入:tree --help 检查

三、Ubuntu 文件系统结构

  1. 根目录“/”
    所有目录都是由根目录衍生出来的
  2. ubuntu文件系统结构
    (1)/bin:存放二进制可执行文件
    (2)/boot:内核和启动文件
    (3)/dev:设备驱动文件
    (4)/etc:存放一些系统配置文件,比如账户和密码文件,各种服务的起始地址
    (5)/home:系统默认的用户主文件夹
    (6)/lib:存放库文件
    (7)/media:存放一些可插拔设备,比如u盘就是挂载在这个目录下
    (8)/mnt:用户可使用的挂载点,和media类似
    (9)/opt:可选的文件和程序存放目录,给第三方软件放置的目录
    (10)/proc:虚拟文件系统,数据放置到内存中,存放系统运行信息
    (11)/root:root用户目录
    (12)/sbin:和bin类似,一般是系统开机过程所用到的命令
    (13)/srv:服务相关目录,例:网络服务
    (14)/sys:记录内核信息,虚拟文件系统
    (15)/tmp:临时目录
    (16)/var:存放一些变化的文件,比如日志文件
    (17)/usr:存放系统用户有关的文件,会占用很大空间
  3. 绝对路径和相对路径
    绝对路径:从根目录算起的路径
    相对路径:相对于目前路径的文件名写法,比如./home/loki 就不是以“/”开头的就行了。

四、Ubuntu 下压缩与解压缩

  1. Linux下常用的压缩扩展名:.tar、.tar.bz2、.tar.gz
  2. 为了压缩成上述格式需要在Windows下安装7zip软件(我感觉不安这个,安rar那个也可以)
  3. gzip压缩工具
    (1).gzip工具负责压缩和解压缩.gz格式的压缩包
    (2)命令如下:
     gzip xxx  //压缩
     gzip -d xxx.gz  //解压缩
     gzip -r xxx   //对文件夹进行压缩
     gzip -rd xxx.gz  //对文件夹进行解压缩

注:gzip不能提供打包服务,只是对文件夹中的所有文件进行了单独的压缩

  1. bzip2压缩工具
    (1)和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包
bzip2 -z xxx  //压缩
bzip2 -d xxx.gz  //解压缩
  1. tar打包工具
tar -vcf test test.tar   //将test 打包成test.tar
tar -vxf test.tar      //解包

(1)对.tar.bz2进行压缩和解压缩

      tar -vcjf xxx.tar.bz2 xxx  //压缩
      tar -vxjf xxx.tar.bz2   //解压缩

(2)对.tar.gz进行压缩和解压缩

      tar -vczf xxx.tar.bz2 xxx  //压缩
      tar -vxzf xxx.tar.bz2   //解压缩
  1. rar工具
      rar a xxx.rar xxx  //压缩
      rar x xxx.rar   //解压缩
  1. zip格式压缩
      zip -rv xxx.zip xxx //压缩
      unzip -v xxx.zip  //解压缩

五、Shell 脚本入门

  1. shell脚本?
    Shell脚本类似Windows的批处理文件,就是将连续执行的命令写成一个文件。
    Shell脚本提供数组、循环、条件判断的等功能。
  2. Shell脚本写法
    (1)Shell脚本是一个纯文本文件,命令从上而下,一行一行的开始执行。Shell脚本扩展名为.sh。
    (2)Shell脚本第一行一定要为:
    #!/bin/bash //表示使用bash
  3. 例子
    (1)touch hello.ch
    (2)vim hello.sh //vim编辑器需要提前安装好,具体使用方法可以百度
    (3)进入编辑器后,第一行必须输入:#!/bin/bash
    (4)第二行:echo “hello world” //echo 输出命令,类似于c语言中的printf
    (5)退出保存,执行程序:bash hello.sh 或者 sh hello.sh(直接在当前路径下输入该命令)
    在这里插入图片描述
    (6)直接输入路径执行程序会权限不够,可以chmod +x hello.sh加权限,然后输入:./hello.sh(这是在相对路径下执行需要加“./”,其他直接输入路径就可以执行了)
    在这里插入图片描述
    (7)其他执行命令:source hello.sh、. hello.sh
  4. 变量
    (1)自定义变量:
    基本语法:a. 定义变量:变量名=变量值,注:=号前后不能有空格!
    b. 撤销变量:unset 变量名
    c. 声明静态变量:readonly 变量,注意:不能unset
例:a=2
   echo $a

注:以上方式定义的为局部变量,要想变成全局变量,输入命令:export 变量名
(2)变量定义规则:
a. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。
b. 等号两侧不能有空格
c. 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
d. 变量的值如果有空格,需要使用双引号或者单引号括起来
(3)特殊变量:
a. $n:n为数字,$0代表该脚本名称,$1-$10代表第一到第九个参数,十以上的参数需要用大括号包含;
b. $#:获取所有输入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性
c. $*:代表命令行中所有的参数,也就是把所有的参数看成一个整体
d. $@:也代表命令行中所有的参数,不过是把每个参数区分对待
e. $?:最后一次执行的命令的返回状态,如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,则证明上一个命令执行不正确
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 运算符
    (1)基本语法:
    在这里插入图片描述
2)例:echo $[5*2]
        a=$[6+8]
        echo $a
  1. 条件判断
    (1)基本语法:
    a.test condition
    b.简写方式:[ condition ],注:条件非空即为true,condition前后要有空格!
    (2)常用的判断条件:
    a.两个整数之间的比较
    -eq 等于 -ne不等于
    -lt 小于 -le 小于等于
    -gt大于 -ge 大于等于
    注:如果是字符串之间的比较,用等号“=”判断相等;用“!=”判断不等
    b.按照文件权限进行判断
    -r 有读的权限
    -w 有写的权限
    -x 有执行的权限
    c.按照文件类型进行判断
    -e 文件存在
    -f 文件存在且是一个常规文件
    -d 文件存在且是一个目录
    (3)多条件判断:&&表示前一条命令执行成功时,才执行后一条命令;||表示上一条命令执行失败后,才执行下一条命令
  2. 流程控制
    (1)if判断 基本语法
    a.单分支
   if [ 条件判断式 ];then
     程序
   fi
或者
   if [ 条件判断式 ]
   then  
程序
   fi

b.多分支

if [ 条件判断式 ]
  then  
程序
     elif [ 条件判断式 ] 
     then
        程序
     else
        程序
 fi

(2)case语句 基本语法

     case $变量名 in
     “值1”)
        如果变量的值等于值1,则执行程序1
     ;;
     “值2”)
 		如果变量的值等于值2,则执行程序2
     ;;
     .......
     *)
如果变量的值都不是以上值,则执行此程序
     ;;
     esac

注: ;;表示命令序列结束,相当于java中的break;*)表示默认模式,相当于java中的default
(3)for循环 基本语法1

     for (( 初始值;循环控制条件;变量变化 ))
     do
        程序
     done

例子:从1加到100
在这里插入图片描述
在这里插入图片描述
(4)for循环 基本语法2 (相当于增强for循环)

     for 变量 in 值123
     do
        程序
     done

例子:从1加到100

for i in {1..100}; do sum=$[$sum+$i]; done; echo $sum

(5)while循环 基本语法

     while [ 条件判断式 ]
     do
           程序
     done

例子:从1加到100
在这里插入图片描述
在这里插入图片描述
8. read读取控制台输入
(1)基本语法
read (选项)(参数)
选项:-p:指定读取值时的提示符
-t:指定读取值时等待的时间(秒)如果-t不加表示一直等待
参数:变量:指定读取值的变量名

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

loki74

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值