linux+ubuntu

linux+ubuntuLinux和ubuntu的关系linux简介:生日:1991年10月5日类unix操作系统遵循posix标准信仰:一切皆文件linux与unix的关系:ios与android都是基于unix开发出来的,linux是基于

Linux和ubuntu的关系

linux简介:

生日:1991年10月5日

类unix操作系统

遵循posix标准

信仰:一切皆文件

linux与unix的关系:

ios与android都是基于unix开发出来的,linux是基于unix开发出来的。

linux是一个内核,最开始是没有图形化界面的。随着时代的发展在linux的基础上开发了debian,再到现在的ubuntu。

linux基本命令的使用

shell是什么?

shell是操作系统的用户界面,提供了用户和内核进行交互操作的一种接口。

shell实际就是一个命令解释器,它接受,解释用户输入的命令并它送到内核执行

shell作为命令语言,能交互地解释和执行用户输入的命令

作为程序设计语言,定义各种变量和参数,提供循环,分支等控制结构

对shell的使用熟练程度直观地反映出你对linux使用的熟练度

shell的工作模式:

交互式:一条一条地解释并执行用户的命令

批处理:一次性执行脚本里的命令

几种常见的shell:

-bash:linux默认使用的shell

-sh:steve bourne开发,最初的unix shell

-ash:由Kenneth almquist编写,只有24个命令

-csh:以william joy为代表47为作者编写

-ksh:korn shell 的缩写

常见的shell命令:

cd 切换目录

ls             显示文件

ls  -a        显示隐藏文件(一般隐藏文件是系统文件以及一些配置文件,格式:”.+文件名”)

ls   -l         以列表的形式显示文件

pwd           查看当前的目录

mkdir+文件名         创建一个目录

touch+文件名          创建一个文件

cat+文件名             查看文件的内容

gedit+文件名          编译文件(gedit相当于windows下的text文件编译工具)

more+文件名          分屏显示文件的内容

head +3                  查看文件的头三行(看第几行就+几)

tail +3                      查看文件的最后三行(看倒数第几行就+几)

cp  文件名a  文件名b    将a文件的内容复制给文件b

mv   文件名a   文件名b    将文件a重命名为文件b(mv还有一个作用就是移动文件)

rm  文件名a      将文件a删除

如果想连续执行两个命令,可以再命令之间使用;分割

linux+ubuntu

软链接和硬链接:

软链接使用场景:当我们需要在不同的目录用到相同的文件,不需要在每个目录下都放一个相同的文件,只需要在某个固定目录放上该文件,然后在其他的目录下使用软链接链接该文件,不需要重复占用磁盘空间。

1.软链接文件有点类似于windows的快捷方式

2.在符号链接中,文件实际上是一个文本文件,其中包含的是所需文件的位置信息

软链接的使用方式:

ln  -s  被链接的源文件    链接文件

硬链接:

硬链接会在选定的位置上生成一个和源文件大小相同的文件

硬链接的使用格式:

ln   被链接的源文件   链接文件

wc -lwc  文件名        查看文件的行数,字符数,单词数 (-lwc 分别是line  word  character)

whatis:命令的简单说明

whereis:命令的源程序或手册的位置

which:可执行程序的路径和它的别名

文件的压缩与解压命令:

1.当压缩文件为tar格式时:

tar   xvf    test.tar  (解压test.tar文件)

tar   cvf    test.tar    /dir1/dir2  file3 (将file3文件压缩为test.tar)

2.当压缩文件为tar.gz格式时:

tar   xzvf    linux.tar.gz (解压linux.tar.gz文件)

tar   czvf    test.tar.gz    /dir1/dir2  file3  (将file3文件压缩为test.tar.gz)

3. 当压缩文件为 .gz/.z/.Z/.tgz格式时:

gzip    file1   file2      (压缩文件file1 和file2)

gzip    -d   file1.gz  (将file1.gz解压为file1.gz)

gzip    -r    /dir    (将dir目录下的文件全部压缩)

gzip    -rd  /dir      (将dir目录下的文件全部解压)

time+指令     查看该指令运行了多少的时间

date  查看系统的时间

uname 查看内核

linux+ubuntu

du   -sh   统计文件和目录所占磁盘空间 

linux+ubuntu

dmesg   显示内核状态信息

uptime    显示时间,系统运行时间,用户连接,负载

who/w    查看登录的用户

whoami/host name  查看登录的用户

cal   日历

bc    计算器

top   查看cpu使用率(查看进程)

free  查看内存和交换空间

ping  检测网络连接

ifconfig   配置网络

netstat    

shell高级命令简单使用

1.查找命令:

find  -name hello.c(通过名字查找hello.c文件)

grep “hello world”  (检索字符串hello wolrd)

grep  “hello  world”  -r ./   (在当前目录下编译检索字符串hello world)

linux+ubuntu

 grep “usb” -c -r  /drivers/usb (在drivers/usb目录下搜索字符串usb  ,-c 表示只显示行号

cscope -Rk(相当于source insight里面的检索工具)

使用说明:使用cscope -Rk指令后会在当前的目录下生成一个cscope.out文件,里面存放着符号表,当我们需要查找的时候,就是到cscope.out文件里面检索的。不单单是cscope.out文件,其他类似的搜索软件也是一样的。

2.管道:

ps   -aux   查看进程(该输出流会默认到stdout里面)

ps   -aux  |grep  usb(该输出会经过管道,在管道的末端检索字符串usb,然后输出)

cat file |grep hello(将输出的内容通过管道,在管道末端检索字符串hello,然后输出)

3.重定向:

>      输出重定向到一个文件或设备

>!     输出重定向到一个文件或设备,强制覆盖原来的文件

>>     输出重定向到一个文件或设备,追加原来的文件

<        输出重定向到一个程序

shell基本命令

示例:

新建一个test文件,在里面写入两条指令

linux+ubuntu

 使用echo  $SHELL 查看shell环境变量

linux+ubuntu

使用bash解释器去执行test文件里面的指令

linux+ubuntu

 一般脚本文件都是已.sh结尾,这样别人就能直观的看出来是脚本文件

可以在文件中设置一个命令,默认使用某个解释器,如下:

linux+ubuntu

 test文件是没有执行的权限,因此修改使用chmod修改权限

linux+ubuntu

然后可以直接执行该文件

linux+ubuntu

 想让文本显示一行,可以使用$()符号

linux+ubuntu

 添加一个循环结构

linux+ubuntu

什么是环境变量

shell下的环境变量:

—-环境变量一般为大写字母,通过echo查看

—-环境变量何时生成的?

     linux启动时,初始化或启动脚本会创建大量环境变量并对其赋值

     每次用户启动一个新程序,新程序会继承启动程序的环境变量

     shell启动过程中,不同登录用户会启动不同的脚本,生成一些环境变量

     环境变量根据用户不同会发生变量(eg:USER/HOME)

—-提示符:

     一般用户为 $

     root用户为  #

shell启动过程1:

1–内核镜像(如/boot/vmlinux)加载内存启动

2–内核启动完毕后,开启第一个init进程

3–进程init扫描/etc/inittab,找到可用的终端及其属性,一旦找到活动的终端,mingettv将会启动login提示符和口令,提示用户输入用户名和口令

4–将用户和口令传递给login,验证是否匹配;

5–若匹配,login将会自动转到其$HOME

6–将控制权移交给所启动的任务,如在/etc/passwd文件中用户的shell为/bin/bash

shell启动过程2:

1–shell将会读取文件etc/profile和~/.profile中系统和用户定义的环境变量,给出提示符:“$”或“#”

2–其他一些用户登录时会启动一些额外脚本

3–有的系统会提供/etc/bashrc脚本(Fedora),系统中任何用户每次启动bash  shell时都会执行:系统登录用户时也会执行

4–每个用户的home目录都包含一个.bashrc脚本,用户登录或者在当前用户下启动shell时都会执行

5–脚本启动大致流程:

      /etc/profile-> ~/.profile -> /etc/bashrc -> ~/.bashrc

6–有些环境变量,你需要考虑是全局还是当前用户独享…

如何声明一个变量

修改/ect/bashrc或/etc/profile脚本

        —对所有用户都有效

        —注意修改profile脚本需要重新source

在~/.bashrc下用export声明全局变量

        —linux可执行执行依靠配置文件去读取路径

        —声明的全局变量对所有用户都有效

        —linux下使用“:”来分割路径

示例:

新安装了一个hello程序,但在他只能在他所在的目录下运行。如果想要在其他目录下也能运行的话,需要将hello所在的目录添加到环境变量中

echo$PATH查看环境变量

linux+ubuntu

 pwd查看当前目录

linux+ubuntu

 修改.bashrc文件(修改的时候通过追加的方式,不能将原来的环境变量给覆盖)

linux+ubuntu

 使用指令source将.bashrc生效一下

linux+ubuntu

 同时可以注意到环境变量与环境变量之间使用“:”分割开来

linux+ubuntu

 文件系统管理

文件系统的基本概念:

1.由文件和目录组成,用户通过路径操作文件

2.文件系统将分区划分为以块block为单位的分出空间,块大小跟文件系统版本有关

3.节点(inode):

    —–是文件系统的基本单元,每个文件或目录都由一个节点来标识

    —–所有节点都被自己记录在inode节点表中

4.目录:

    —–是一个含有目录表的文件,目录表中有一个入口项

    —–入口项中含有文件名和文件对应的节点号

linux+ubuntu

 文件类型分类:

linux+ubuntu

 linux目录介绍:

—–linux目录跟windows有很大的不同,不同的linux发行板,主要的目录主要包括:

/bin             二进制可执行命令

/sbin           超级管理命令,这里存放的是系统管理员使用的管理程序

/dev            设备特殊文件

/etc             启动的配置文件和脚本

/home        用户主目录的基点,比如用户user的主目录就是/home/user

/lib              标准程序设计库,又叫动态链接共享库

/tmp            公共的临时文件存储点

/mnt            系统提供这个目录是让用户临时挂载其他的文件系统

/lost+found 这个目录平时是空的,系统非正常关机的文件会存在这里

/proc           虚拟的目录,是系统内存的映射。可通过访问该目录获取系统信息(可以理解为用户和操作系统交互的接口)

/var             某些大文件的溢出区,比方说各种服务的日志文件

/usr             最庞大的目录,要用到的应用程序和文件几乎都在这个目录

—–一般而言,我们安装软件,都是默认安装在/usr目录下,该目下主要包括:

/usr/local/bin   本地新增加的命令

/usr/local/lib    本地新增加的库根文件系统

/usr/bin           众多的应用程序

/usr/sbin          超级用户的一些管理程序

/usr/include      linux下开发和编译应用程序所需要的头文件

/usr/src             源代码,linux内核的源代码就放在/usr/src/linux里面

/usr/lib               常用的动态链接库和软件包的配置文件

用户账户管理

用户和用户组:

用户:

—–管理员root:具有系统所有权限,uid为0

—–系统用户:保障系统运行的用户,uid为1-499

—–普通用户:部分权限受限,uid范围为500-60000

用户组:

—–普通用户组:可以加入多个用户

—–系统组:一般加入一些系统用户

—–私有组:创建用户时,若没有指明所属组,则会定义一个私有用户组,名称与用户名相同

                     当把其它用户加入到私有组,私有组就变成了普通用户组

用户常用的配置文件:

配置文件所在位置/etc/passwd

–格式:account:password: UID:GID:GECOS:directory:shell

–说明:

            account:用户名或账号

            password:用户密码占位符

            UID:用户的ID号

            GECOS:用户的详细信息(如姓名,年龄,电话等)

            directory:用户所在的家目录

            shell:用户所在的编程环境

密码存放的位置/etc/shadow

–格式:

account:password:最近更改密码的日期:密码不可更改的天数:密码需要重新更改的天数:

密码更改前的警告期限:密码过期的宽限时间:账号失效日期:保留

用户组配置文件:

用户组配置文件所在位置/etc/group

–格式:group name:password:GID:user_list

             group name:组名

              password:组密码

              GID:组的ID号

             user_list:以group_name为附加组的用户列表

–用户组密码存放处位置/etc/gshadow

常用操作:

—–用户操作:

 添加用户linux+ubuntu

删除用户

linux+ubuntu

—–用户组操作:

添加用户组

linux+ubuntu

 vi /etc/group进入用户组配置文件

linux+ubuntu

移动用户到该组中

linux+ubuntu

删除用户组(先要把组里面的组员删除) 

linux+ubuntu

文件访问权限

文件权限:

文件访问权限:

           –每个文件都有一个所有者

           –每个文件或目录都有一个指派给它们的组

           –linux根据文件的所有者和所属组来确定谁可以访问

文件的3钟权限:

读 ——-r——-4

写——–w——2

执行—–x——-1

linux+ubuntu

 u——所有者

g——-同组用户

o——-其它用户

a——-所有用户

修改用户和用户组权限:

改变文件所属关系:

           chown user:group  文件名

linux+ubuntu

给其它用户添加写权限:

           chmod  a+x   文件名

           chmod   666 文件名

linux+ubuntu

 进程管理

进程是什么?

进程的基本概念:

                  —-进程就是运行起来的程序,使用唯一的PID来标示

                  —-操作系统基本的任务管理单元

                  —-进程状态:运行态,睡眠态,停止态,僵死态

                  —-进程的优先级

守护进程:

                  —-在linux,系统服务通常是以后台运行的进程存在

                  —-系统启动时会自动运行这种后台守护进程

                  —-一旦前台有指令或请求,守护进程即可做出相应,提供相关服务

进程管理:

1.使用proc查看进行信息,proc作为一个用户和内核进行交互的接口,proc里面存放了进程使用的内容信息

2.使用top查看cpu使用率,然后按s键进入交互模式,输入cpu使用率刷新的秒数                            (或者使用top  -d 2)

linux+ubuntu

3.如果想监视具体的某个进程cpu使用率,使用指令  top -p1 -p2

linux+ubuntu

4.使用kill +PID杀死进程

今天的文章linux+ubuntu分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/60398.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注