Ubuntu18.04 Linux 入门学习笔记

目录

  • Ubuntu Linux 入门学习笔记
  • sehll
    • 工作模式
      • 交互式
      • 批处理式
    • 常见的shell解释器
  • 常用命令
  • 解压与压缩命令
  • 系统命令
  • 网络相关命令
  • 查找命令
  • 管道
  • 重定向
  • 其他命令
  • shell脚本
  • vi与vim
  • Makefile
  • 环境变量
  • PATH环境变量追加路径
  • 用户管理
    • 用户常用的配置文件
    • 用户组配置文件
    • 用户操作
    • 用户组操作
  • 文件权限
    • 文件访问权限
    • 文件中的权限
    • 修改文件权限chmod
    • 修改文件所属关系chown
  • 进程
    • 进程的基本概念
    • 守护进程
    • 进程管理
  • 软件的编译-安装-卸载
    • 安装步骤
  • 使用dpkg安装软件包
    • DEB格式软件包
    • RPM软件包
    • 使用dpkg管理deb软件包
    • 制作deb软件包
  • APT命令
  • 源配置文件
  • 使用wine安装windows软件
  • NFS服务器安装及配置
    • 客户端挂载
    • 挂载参数说明
  • samba服务器配置及使用
    • 安装samba服务
    • 使用samba服务
  • SSH
    • SSH协议
    • SSH服务配置使用
  • FTP配置及应用
    • FTP协议
    • FTP服务器安装及配置
  • 常用FTP命令

Ubuntu Linux 入门学习笔记

  • lsb_release -a 查看Ubuntu版本

Ubuntu18.04 Linux 入门学习笔记_第1张图片

  • uname -a 查看内核版本

在这里插入图片描述

  • sudo passwd root 创建root用户

Ubuntu18.04 Linux 入门学习笔记_第2张图片

  • su 切换到root账户

输入密码后原本当前终端显示$的位置显示#Ubuntu18.04 Linux 入门学习笔记_第3张图片

  • su [用户名] 切换到对应用户

在这里插入图片描述

sehll

工作模式

交互式

  • 一条一条的解释执行用户命令

批处理式

  • 一次性执行脚本里的命令

常见的shell解释器

  • bash:linux默认
  • sh
  • ash
  • csh
  • ksh

常用命令

  • cd
    — cd .
    — cd . ./
  • ls
    — ls -l //列表查看
    — ls -a //查看所有
    — ls -al //列表形式查看所有
  • pwd
    — pwd
  • touch
    — touch name.txt
  • mkdir
    — mkdir name
  • chmod
    — chmod name 777
    gedit
    —gedit filename
  • cp
    — cp sourcefilename newfilename
    //将当前目录的sourcefile文件复制到当前目录并改名成newfilename
    — cp sourcefilename ./xx
    //将当前目录的sourcefile文件复制到./xx
    详细内容可参考http://c.biancheng.net/view/746.html
  • mv
    — mv sourcefilename newfilename
    //将sourcefilename文件改名为newfilename
    — mv sourcefilename ./xx
    //将sourcefilename文件移动到 ./xx目录
    — mv ./xx/sourcefile ./aa/newfilename
    //将./xx目录下的sourcefile移动到./aa目录并改名为newfilename
  • rm
  • cat
    — cat filename
  • more
    — more filename //分屏显示
  • less
    — filename //浏览文件,类似more
    详细内容可参考https://www.runoob.com/linux/linux-comm-less.html
  • head
    — head -n 行数 filename //查看文件头n行
  • tail
    — tail -n 行数 filename //查看文件最后n行
  • ln
    – ln sourcefile linkfile
    给sourcefile创建一个硬链接(类似windows的快捷方式)并命名为linkfile
    – ln -s sourcefile softlinkfile
    给sourcefile创建一个软链接并命名为softlinkfile
  • 软链接相当于文件指针,指向源文件,修改软链接文件内容源文件也会被改变
  • 硬连接相当于拷贝一整个文件但不占用实际空间,修改硬链接文件内容源文件也会被改变
  • 硬连接只允许对存在的文件进行链接,软链接可以对目录或不存在的文件进行链接
    详细内容可参考https://www.runoob.com/linux/linux-comm-ln.html
  • wc
    — wc file //统计文件的行数,单词数,字符数
    Ubuntu18.04 Linux 入门学习笔记_第4张图片
    — wc -l file//统计文件行数
    在这里插入图片描述
    — wc -w file//统计文件单词数
    在这里插入图片描述
    — wc -c file//统计文件字符数
    在这里插入图片描述
    — whereis 命令 //打印命令的源程序或手册的位置
    在这里插入图片描述
    — whatis 命令 //打印命令简单说明
    在这里插入图片描述
    — which 可执行程序 //打印可执行程序的路径和它的别名
    在这里插入图片描述

解压与压缩命令

  • 不同格式的压缩和解压命令不一样
  • tar
    — tar cvf tarfile sourcefile1 sourcefile2 …sourcefile3
    — //将sourcefile1 sourcefile2 …sourcefile3打包成tarfile
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190929121234677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM4MTM5NTMz,size_16,color_FFFFFF,t_70
    — tar xvf file.tar
    — 将file.tar解压到当前目录
    — tar xvf file.tar -C ./xx
    — 将file.tar解压到./xx目录
    Ubuntu18.04 Linux 入门学习笔记_第5张图片
  • gzip
    — gzip file
    //将file文件压缩成file.gzip并删除源文件
    Ubuntu18.04 Linux 入门学习笔记_第6张图片
    — gzip -d file.gz
    //将file.gz解压并删除压缩文件
    Ubuntu18.04 Linux 入门学习笔记_第7张图片
    — gzip -r directory
    //将directory下每个文件压缩成.gz格式并删除源文件
    Ubuntu18.04 Linux 入门学习笔记_第8张图片
    — gzip -rd directory
    //将directory目录下的每个.gz压缩文件解压并删除压缩文件
    Ubuntu18.04 Linux 入门学习笔记_第9张图片
  • .tar.gz
    -tar -zcvf file.tar.gz file1 file2…filen
    //将file1 file2…filen压缩成file.tar.gz
    Ubuntu18.04 Linux 入门学习笔记_第10张图片
    -tar -zxvf file.tar.gz
    //将file.tar.gz 解压
    Ubuntu18.04 Linux 入门学习笔记_第11张图片

系统命令

  • time
    //执行命令并计时
    1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;
    2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
    3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。
另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。
Ubuntu18.04 Linux 入门学习笔记_第12张图片

  • date
    //查看当前的时间
    在这里插入图片描述
  • uname
    查看内核
    Ubuntu18.04 Linux 入门学习笔记_第13张图片
  • du
    //统计文件或目录所占磁盘空间
    Ubuntu18.04 Linux 入门学习笔记_第14张图片
  • dmesg
    用于显示开机信息。
    kernel会将开机信息存储在ring buffer中。若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
    Ubuntu18.04 Linux 入门学习笔记_第15张图片
  • uptime
    //显示时间,系统运行时间,用户连接数,负载情况
    在这里插入图片描述
  • who
    //查看是哪一个用户登入,登入的终端,登入时间
    在这里插入图片描述
  • w
    比who更详细的信息
    在这里插入图片描述
  • whoami
    //查看当前登入用户
    Ubuntu18.04 Linux 入门学习笔记_第16张图片
  • hostname
    //主机名
    在这里插入图片描述
  • cal
    //日历
    Ubuntu18.04 Linux 入门学习笔记_第17张图片
  • bc
    //计算器
    Ubuntu18.04 Linux 入门学习笔记_第18张图片
  • top
    //查看CPU利用率
    Ubuntu18.04 Linux 入门学习笔记_第19张图片
  • free
    //查看内存使用情况
    在这里插入图片描述

网络相关命令

  • ping
    //检测本机网络是否与ip地址通讯
    — ping www.baidu.com
    Ubuntu18.04 Linux 入门学习笔记_第20张图片
  • ifconfig
    //查看网络配置
    Ubuntu18.04 Linux 入门学习笔记_第21张图片
  • ifconfig 网卡名 设置的IP地址 netmask 子网掩码 up/down(打开/关闭)
    Ubuntu18.04 Linux 入门学习笔记_第22张图片
  • netstat
    //查看网络端口情况
    Ubuntu18.04 Linux 入门学习笔记_第23张图片

查找命令

  • find
    — find filename
    查找并列出当前目录和子目录下的名字和filename相同的文件和目录
    Ubuntu18.04 Linux 入门学习笔记_第24张图片
    — find -name filename
    — find filename
    //查找并列出当前目录和子目录下的名字和filename相同的文件和目录
    Ubuntu18.04 Linux 入门学习笔记_第25张图片
    — find xxx -name filename
    // 查找并列出xxx目录和子目录下的名字和filename相同的文件和目录
    在这里插入图片描述
    — find xxx -iname filename
    // 以不区分大小的形式查找并列出xxx目录和子目录下的名字和filename相同的文件和目录
    在这里插入图片描述
    — find xxx -name *.c
    //查找xxx目录和子目录所有的.c后缀的文件
    Ubuntu18.04 Linux 入门学习笔记_第26张图片
    更详细内容参考http://c.biancheng.net/view/779.html
  • grep
    grep “string” -r ./
    //在当前目录下的所有文件中查找"string"字符串的行
    Ubuntu18.04 Linux 入门学习笔记_第27张图片
    — grep “string” -r -c xxx
    //查找xxx目录下所有的文件中包含"string"字符串的文件,并显示文件中包含该字符串的数量
    Ubuntu18.04 Linux 入门学习笔记_第28张图片
  • cscope -Rk(注意k为小写)
    — tab键在搜索结果和输入项中切换
    — ctrl+d退出
    Ubuntu18.04 Linux 入门学习笔记_第29张图片
    — 查找文件中包含fun_的字符串
    Ubuntu18.04 Linux 入门学习笔记_第30张图片

管道

linux的信息默认打印到stdout终端
使用将信息输入到管道中,然后在管道中进行查找
Ubuntu18.04 Linux 入门学习笔记_第31张图片
Ubuntu18.04 Linux 入门学习笔记_第32张图片

重定向

将输出信息重定向到文件或设备或其他终端
Ubuntu18.04 Linux 入门学习笔记_第33张图片

  • — > : 输出重定向到一个文件或设备
  • — >! :输出重定向到一个文件或设备,强制覆盖原来的文件
  • — >>:输出重定向到一个文件或设备,追加原来的文件
  • — <:输出重定向到一个程序

其他命令

  • 连续执行命令可以用分号隔开
    — cd …;ls
  • 一般用户命令行显示#
  • root用户命令行显示$
  • sudo 命令
    — 用root权限去执行该命令

shell脚本

编写号shell脚本文件然后用bash解释器来执行脚本文件

  • 一般脚本文件以.sh为后缀

Ubuntu18.04 Linux 入门学习笔记_第34张图片

  • 设置为默认使用bash解释器来解释脚本文件
    — 在脚本文件首行添加#! 解释器路径即可,一般默认#! /bin/bash
    — 修改脚本文件权限,然后执行即可

Ubuntu18.04 Linux 入门学习笔记_第35张图片

  • 变量
    — $ (命令)[$左右两端不能有空格]
    — 变量= $ (命令)[=左右两端不能有空格]
    — 引用变量 ->$变量

Ubuntu18.04 Linux 入门学习笔记_第36张图片

  • 注释 #
    —在行首使用#表示注释
    Ubuntu18.04 Linux 入门学习笔记_第37张图片
  • 循环
    — do和done之间的语句必须用tab键(或4空格)
    — 命令和赋值不能写在同一行
    — 1 2 3 4 5可以写成{1…5}
    Ubuntu18.04 Linux 入门学习笔记_第38张图片
    Ubuntu18.04 Linux 入门学习笔记_第39张图片
  • if判断
    — []中为判断条件,[]中变量两边需要加空格
  • 数字的比较:
    — -eq 相等(equal)
    — -ne 不等(not equal)
    — -gt 大于(greater than)
    — -lt 小于(less than)
    — -ge 大于等于 (greater than or equal)
    — -le 小于等于 (less than or equal)
  • 字符串的比较:
    — [ $str1 = $str2 ] 等于
    — [ $str1 != $str2 ] 不等于
    — [ -z $str ] 空字符串返回true
    — [ -n $str ] 或者 [ $str ] 非空字符串返回true
    Ubuntu18.04 Linux 入门学习笔记_第40张图片
    Ubuntu18.04 Linux 入门学习笔记_第41张图片
    Ubuntu18.04 Linux 入门学习笔记_第42张图片
    在这里插入图片描述

vi与vim

  • vim是vi的升级版,兼容vi的所有指令
  • vim支持多级撤销,vi只能撤销上次命令
  • vim可以运行在多种os,vi只能运行于类Uinx
  • 语法加亮
  • 可视化操作
  • 可通过vimcr文件配置更加高级功能
  • 输入
    在命令模式下按 i 可以在当前光标处输入
    在命令模式下按 o 可以在当前光标的下一行另起一行进行输入
  • shift+:
    wq保存并退出
    q!不保存直接退出
  • set nu显示行号
  • 配置文件
  • /ect/vim/vimrc
    在vimrc配置文件的最后一行中添加
set number

下次使用vim时会自动显示行号

ctrl + b 向后滚动一屏幕
ctrl + f 向前滚动一屏幕
ctrl + u 先上半屏幕
ctrl + d 先下半屏幕

行号+gg跳到该行(行号+shift+g)
gg跳至首行
shift+g跳至最后一行

ctrl + g显示状态(当前文件名,总行数,当前行数占总行数的百分比)(当前光标行数和列数)

H跳至当前屏幕的顶行
L跳至当前屏幕的最后一行
h 光标向前移动一个位置
l 光标向后移动一个位置

home 跳至行首
end 跳至行尾
ctrl + home 跳至首行
ctrl + end 跳至最后一行

命令模式下按 x 剪切光标处的字符
命令模式下按 p 粘贴剪切内容在光标处的后方
命令模式下按 数字 + x 剪切光标处及后方的字符(剪切数量为输入的数字)
命令模式下按 d + w 剪切光标处到空格之间的内容(包括空格)
命令模式下按[n] + d + w 剪切光标处到第n个空格之间的内容(包括空格)

命令模式下按 dd剪切当前整行
命令模式下按 p 粘贴剪切内容在光标处的下方
命令模式下按[n] + dd剪切n行
命令模式下 D 剪切当前光标处到行尾的所有内容

命令模式下 yy 复制当前整行
命令模式下 y + ↑/↓复制当前行和上一行或下一行
命令模式下 [n] + yy 复制n行

命令模式下按 u 撤销
命令模式下按 ctrl + r 恢复撤销

Makefile

  • make

目标:依赖1 依赖2 … 依赖n
Tab键 执行语句

  • make clean

clean:
Tab键 执行语句

执行make后会生成executable文件
Ubuntu18.04 Linux 入门学习笔记_第43张图片
Ubuntu18.04 Linux 入门学习笔记_第44张图片
Ubuntu18.04 Linux 入门学习笔记_第45张图片

  • -c的意思是编译成.o的二进制文件,-o的意思是可以给生成的可执行文件重新命名,否则生成默认名称a.out文件
  • Makefile中的Linux 下 的 cc 和 gcc

https://www.cnblogs.com/zhouyinhui/archive/2010/02/01/1661078.html

Ubuntu18.04 Linux 入门学习笔记_第46张图片

环境变量

  • 与shell脚本的变量一样

定义,输出变量
在这里插入图片描述

  • 系统预定义了许多环境变量,一般以大写字母命名
  • PATH

PATH用途就是当用户要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还要到PATH变量中指定的路径去寻找。用户可以通过设置PATH变量,来更好的运行进程。

  • 常见环境变量

Linux中常见的环境变量有:
1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
3.HISTSIZE:指保存历史命令记录的条数。
4.LOGNAME:指当前用户的登录名。
5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
6.SHELL:指当前用户用的是哪种Shell。
7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
8.MAIL:指当前用户的邮件存放目录。
9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
10.PS2:附属提示符,默认是“>”。
备注:可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt ”。
#PS1=“Hello,My NewPrompt”
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
当然,所列举的上述环境变量并非穷尽列出!
Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:
1.echo 显示某个环境变量值 echo $PATH
2.export 设置一个新的环境变量 export HELLO=“hello” (可以无引号)
3.env 显示所有环境变量
4.set 显示本地定义的shell变量
5.unset 清除环境变量 unset HELLO
6.readonly 设置只读环境变量 readonly HELLO

  • source修改bash.bashrc脚本并重新生效配置
  • /etc/bash.bashrc和/etc/profile声明的变量对所有用户都有效
  • /etc/bash.bashrc在用户切换的时候会执行
  • /etc/profile在系统启动的时候会执行

Ubuntu18.04 Linux 入门学习笔记_第47张图片

  • 在~/.bashrc的脚本文件中定义变量仅仅对当前用户生效,除非声明为外部(export)
    Ubuntu18.04 Linux 入门学习笔记_第48张图片
    在这里插入图片描述
    Ubuntu18.04 Linux 入门学习笔记_第49张图片
  • linux中用 : 来分割路径

PATH环境变量追加路径

  • 在~/.basrc脚本文件中最后添加
PATH=$PATH:路径

在这里插入图片描述
Ubuntu18.04 Linux 入门学习笔记_第50张图片

用户管理

  • 用户
    — 管理员root:具有系统所有权限,uid为0
    — 系统用户:保障系统运行的用户,uid为1-499
    — 普通用户:部分权限受限,uid范围500-60000
  • 用户组
    — 普通用户组:可以加入多个用户
    — 系统组:一般加入一些系统用户
    — 私有组:创建用户时,若没指明所属组,则会定义一个私有用户组,名称与用户名相同,当把其它用户加入到私有组,私有组就变成了普通用户组.

用户常用的配置文件

  • /etc/passwd

格式: account: password:UID:GID:GECOS:diretory:shell
account:用户名或帐号
password:用户密码占位符
UID:用户的1D号
GID:用户所在组的ID号
GECOS:用户的详细信息(如姓名,年龄,电话等)
diretony:用户所的家目录
shell: 用户所在的编程环境
Ubuntu18.04 Linux 入门学习笔记_第51张图片

  • /etc/shadow(密码文件)

格式: account: password: 最近更改密码的日期:密码不可更改的天数:密码需要重新更改的天数:密码更改前的警告期限:密码过期的宽限时间:帐号失效日期:保留
Ubuntu18.04 Linux 入门学习笔记_第52张图片

用户组配置文件

  • /etc/ group
    一格式: group name: passwoerd:GiiD:user ist
    group name:组名
    passwoerd:组密码
    GID.组的ID号
    user list: 以group name为附加组的用户列表
  • /etc/ gshadow(用户组密码文件,与用户密码文件格式相同)

用户操作

– 添加用户

添加新的用户账号使用useradd命令,其语法如下:
useradd 选项 用户名
参数说明:

  • 选项:
    -c comment 指定一段注释性描述。
    -d 目录 指定用户主目录
    -m 创建主目录。
    -g 用户组 指定用户所属的用户组。
    -G 用户组,用户组 指定用户所属的附加组。
    -s Shell文件 指定用户的登录Shell。
    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户名:
    指定新账号的登录名。
  • 新创建用户时系统会将/etc/skel/目录下的文件拷贝到新用户的目录中
    Ubuntu18.04 Linux 入门学习笔记_第53张图片

– 修改用户

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
Ubuntu18.04 Linux 入门学习笔记_第54张图片
– 删除用户
删除一个已有的用户账号使用userdel命令,其格式如下:
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
Ubuntu18.04 Linux 入门学习笔记_第55张图片

用户组操作

– 添加用户组

增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。Ubuntu18.04 Linux 入门学习笔记_第56张图片

– 修改用户组

groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
Ubuntu18.04 Linux 入门学习笔记_第57张图片

– 删除用户组

Ubuntu18.04 Linux 入门学习笔记_第58张图片

文件权限

文件访问权限

  • 每个文件都有一个所有者
  • 每个文件或目录都有一个指派给他们的组
  • linux根据文件的所有者和所属组来确定谁可以访问

文件中的权限

  • 读 r
  • 写 w
  • 执行 x
  • 所有者 u
  • 所属组 g
  • 其他用户 o
  • -一般文件
  • b块设备
  • c字符设备
  • d目录
  • l软链接文件
  • 显示格式

文件类型 所有者权限 所属组权限 其他用户权限 所有者 所属组 修改时间 文件名
其中file_test文件为一般文件
其所有者拥有读写权限
其所属组拥有读写权限
其他用户只拥有读权限
所有者snowynight
所属组snowynight
修改时间…
文件名file_test
Ubuntu18.04 Linux 入门学习笔记_第59张图片

修改文件权限chmod

  • chmod [可选项]

可选项:
-c, --changes like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)
-f, --silent, --quiet suppress most error messages (若该档案权限无法被更改也不要显示错误讯息)
-v, --verbose output a diagnostic for every file processed(显示权限变更的详细资料)
–no-preserve-root do not treat ‘/’ specially (the default)
–preserve-root fail to operate recursively on ‘/’
–reference=RFILE use RFILE’s mode instead of MODE values
-R, --recursive change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
–help 显示此帮助信息
–version 显示版本信息

mode :权限设定字串,详细格式如下:
[ugoa…][[±=][rwxX]…][,…],其中
[ugoa…]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
[±=]
+表示增加权限,- 表示取消权限,= 表示唯一设定权限。
+[rwxX]
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

file…
文件列表(单个或者多个文件、文件夹)

Ubuntu18.04 Linux 入门学习笔记_第60张图片
在这里插入图片描述

修改文件所属关系chown

  • chown [可选项] user[:group] file…

使用权限:root
说明:
[可选项] : 同上文chmod
user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)
在这里插入图片描述

进程

进程的基本概念

  • 进程就是运行起来的程序,使用唯一的PID来标示
    Ubuntu18.04 Linux 入门学习笔记_第61张图片
  • 操作系统基本的任务管理单元
  • 进程状态:运行态、睡眠态、停止态、僵死态
  • 进程的优先级

守护进程

  • 在Linux中,系统服务通常是以后台运行的进程存在
  • 系统启动时会自动运行这种后台守护进程
  • 一旦前台有指令 或请求,守护进程即可做出相应,提供相关服务

在这里插入图片描述
Ubuntu18.04 Linux 入门学习笔记_第62张图片

进程管理

  • 查看进程信息
    – ps 查看当前进程
    – ps a 查看与终端相关进程
    – ps x 查看与终端无关的进程
    – ps u 查看进程属于哪个用户
    – ps -A 显示所有进程
  • 使用proc查看进程信息
    – proc文件系统相当于文件的接口
    – 进入目录查看进程的信息
    Ubuntu18.04 Linux 入门学习笔记_第63张图片
    Ubuntu18.04 Linux 入门学习笔记_第64张图片
  • 使用top查看CPU使用率
    Ubuntu18.04 Linux 入门学习笔记_第65张图片
    – 输入s进入交互模式,修改为每1秒刷新一次Ubuntu18.04 Linux 入门学习笔记_第66张图片
    – top -d 0.5 以每0.5秒的速度刷新CPU使用率
    – top -d 1 -p 11 -p 14 以每1秒的速度监听PID为11,14的进程
    Ubuntu18.04 Linux 入门学习笔记_第67张图片
  • 杀死进程
    – kill PID
    Ubuntu18.04 Linux 入门学习笔记_第68张图片

软件的编译-安装-卸载

  • Automake和Autoconf
  • Automake和Autoconf工具可以生产符合GUN标准的Makefile
  • 可以使用./configure,make,make install进行安装
  • -默认安装目录
    — /usr/local/bin
  • 可以自行设定安装目录,但是要修改PATH环境变量

安装步骤

  • 下载源代码包
  • 生成脚本文件 : AUTOCONF
  • 配置
    – ./configure
  • 编译
    – make
  • 安装
    – make install
  • 添加环境变量
    – PATH=$PATH:
  • 清理临时文件
    – make clean
  • 卸载
    – make uninstall

使用dpkg安装软件包

DEB格式软件包

  • 二进制文件、库文件、配置文档、帮助页面等打包
  • 用户使用工具可直接获取、安装、卸载、查询…

RPM软件包

  • RedHat在Debian基础上推出自己的包管理机制:RPM

使用dpkg管理deb软件包

  • 安装: dpkg -i xxx.deb
  • 安装某目录下多个deb包: dpkg -R /usr/xxx-src
  • 卸载: dpkg-r xxx

制作deb软件包

  • 安装工具: apt install checkinstall
  • 安装工具: apt install dh-make
  • ./configure --prefix=/home/tools
  • make
  • checkinstall
  • 安装: dpkg -ixxx.deb

APT命令

  • 检查依赖性: apt check
  • 安装: apt instal |
  • 更新本地数据库: apt update
  • 软件升级: apt upgr ade
  • 卸载: apt remove/ autor emove
  • 清除本地已经下载并安装的包: apt clean
  • 查看有哪些包可以更新: apt list --upgradable

源配置文件

  • /etc/apt/sources.list
  • 在这里可以添加或修改源Ubuntu18.04 Linux 入门学习笔记_第69张图片
  • ubuntu常用安装源

https://www.cnblogs.com/ccdc/p/4428555.html

使用wine安装windows软件

  • sudo apt install wine64

NFS服务器安装及配置

  • 安装
    – apt-get install nfs kernel-server
  • 设置共享目录
    – vim /etc/exports
    – /nfs *(rw,sync,no_ subtree check,no_ root squash)
    – /nfs *(rw,sync,no root squash)
    在这里插入图片描述
    在这里插入图片描述
  • 启动NFS服务器
    – service portmap restart(/etc/init.d/portmap restart)
    – service nfs- kernel-server restart
    – 两条命令都等价
    Ubuntu18.04 Linux 入门学习笔记_第70张图片

客户端挂载

  • 挂载
    – mount -t nfs 192.168.3.17:/home/snowynight/Desktop/nfs_test ./nfs_dir
  • 开发板挂载
    – mount -t nfs 192.168.3.17:/home/snowynight/Desktop/nfs_test ./nfs_dir -o nolock
  • 显示本机共享出来的目录
    – showmount -e
  • 查看挂载情况
    – df
  • 卸载
    – umount /nfs_dir
    Ubuntu18.04 Linux 入门学习笔记_第71张图片

挂载参数说明

  • ro/rw 只读访问/读写访问
  • sync 所有效据在请求时写入共享
  • async NFS在写入数据前可以相应请求
  • secure NFS通过1024以下的安全TCP/IP端口发送
  • insecure NFS通过1024以上的端口发送
  • wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
  • nowdelay 如果多个用户要写入NFS目录,则立即写入,当使用asyne时, 无需此设置。
  • hide 在NFS共享目录中不共享其子目录
  • no hide 共享NFS目录的子目录
  • subtree check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
  • no subtree check 和上面相对,不检查父目录权限
  • all squash共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
  • no all souash 保留共享文件的UID和GID (默认)
  • root souash root用户的所有请求映射成如anonymous用户一样的权限(默认)
  • no root squash root用户具有根目录的完全管理访问权限
  • anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UID
  • anongid=xxx指定NFS服务器/etc/passwd文件中匿名用户的GID

samba服务器配置及使用

安装samba服务

  • 安装
    – apt install samba
    – apt install smbfs

  • 创建共享目录
    – mkdir /home/snowynight/Desktop/samba_test
    – chmod 777 ./samba_test

  • 修改samba配置文件
    – vim /etc/samba/smb.conf

  • 创建samba账户
    – touch /etc/samba/smbpasswd
    – smbpasswd -a snowynight
    – 输入密码

使用samba服务

  • 重启samba服务器
    – sudo service smbd restart
  • 从windows访问并设置网络映射

https://www.linuxidc.com/Linux/2018-11/155466.htm

  • 从Linux访问挂载
    – sudo mount -t cifs -o username=snowynight,password=122333, -l //192.168.3.17/samba_test /mnt/samba_dir/
    在这里插入图片描述
    Ubuntu18.04 Linux 入门学习笔记_第72张图片

https://blog.csdn.net/sdfshfh/article/details/83869021

SSH

SSH协议

  • 什么是SSH
    – Secure Shell的缩写
    – 建立在应用层和传输层基础正的安全协议
    – 防止网络传输过程中的信息泄露
  • 为什么它能做到?
    – 传输数据进行加密
    – 登录采用两种级别的安全验证
    ----- 基于口令的安全验证
    ----- 基于密匙的安全验证

SSH服务配置使用

  • 安装
    – apt install openssh-server
  • 开启
    – service ssh restart
  • 登入
    – ssh serverIP

Ubuntu18.04 Linux 入门学习笔记_第73张图片

FTP配置及应用

FTP协议

  • File Transfer Protocol
    两台计算机传送文件的协议
  • 客户端可以通过FTP命令从服务器下载、上传文件、修改目录

FTP服务器安装及配置

  • 安装
    – apt install vsftpd
  • 配置
    – 创建账户和密码
    ---- sudo useradd -d /home/snowynight/Desktop/ftp_test -s /bin/bash -m user_ftp_test

在这里插入图片描述
— sudo passwd user_ftp_test
在这里插入图片描述
— sudo vim /etc/vsftpd.conf//用户配置文件
— sudo vim /etc/allowed_users//配置白名单
— sudo vim /etc/ftpusers //配置黑名单
– 权限配置
— 运行上传local_enable=YES
— 运行登入write_enable=YES
Ubuntu18.04 Linux 入门学习笔记_第74张图片

  • 开启FTP服务
    – sudo /etc/init.d/vsftpd restart
    – sudo service vsftpd restart
    在这里插入图片描述
  • 在windows登入
    Ubuntu18.04 Linux 入门学习笔记_第75张图片
    -在linux下登入

ftp进入ftp模式运行
open IP地址
输入服务器名字
输入服务器密码

常用FTP命令

  • open: 连接远程服务器
  • close: 断开远程服务器连接
  • Is:列出服务器当前目录
  • cd: 在服务器上改变工作目录
  • Icd: 在本地改变工作目录
  • get: 从服务器传送指定文件到本地
  • put:从本地上传指定文件到服务器
  • ?:显示本地帮助信息
  • !:转到shell中
  • open
    Ubuntu18.04 Linux 入门学习笔记_第76张图片
  • get
    Ubuntu18.04 Linux 入门学习笔记_第77张图片
  • put
    Ubuntu18.04 Linux 入门学习笔记_第78张图片
  • close
  • exit
    在这里插入图片描述

你可能感兴趣的:(教程,嵌入式Linux,学习笔记)