Linux与Pyhon考试复习

本文是Linux和Python的基础复习资料,涵盖了Linux系统的结构、用户管理、文件系统、常用命令以及Python的基础操作,如字符串处理、文件操作、类的继承、generator等内容。
摘要由CSDN通过智能技术生成

18个问题的解答

1. Linux系统的结构;

 在 Linux 或 Unix 操作系统中,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构。
 ​
 文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。如此反复就可以构成一个庞大的文件系统。
 ​
 在Linux文件系统中有两个特殊的目录,一个用户所在的工作目录,也叫当前目录,可以使用一个点 . 来表示;另一个是当前目录的上一级目录,也叫父目录,可以使用两个点 .. 来表示。
 ​
  . :代表当前的目录,也可以使用 ./ 来表示;
  .. :代表上一层目录,也可以 ../ 来代表。
 如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以默认方式查找时,不显示该目录或文件。

2. 什么是shell?shell的作用;

     1、shell是操作系统的最外层,是一个用户跟操作系统之间交互的命令解释器。
     2、大多数linux默认的shell命令解释器是 bash(/bin/bash)
     3、shell独立于内核,是链接内核和应用程序的桥梁,通俗来讲shell是内核周围的外壳
 ​
     shell脚本是shell命令组成的文件。换一种说法,shell脚本是利用shell的功能所写的一个程序,
     这个程序使用纯文本文件将一些shell语法和指令写在里面,让使用者很容易的就能够一个操作执行多个命令。
 ​
     1、shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序
     2、shell能够减少大量的重复输入和交互操作,能够进行批量的处理和自动化完成维护,减轻管理层   
     的负担
 ​

3. Linux用户类型及其用户主目录;

 Linux下用户分为3类:超级用户(root)、系统用户、普通用户。
 ​
 超级用户的用户名为root,它具有一切操作权力,因此为安全起见,建议不要轻易的在root账户下面对文件进行操作。在Linux操作系统的字符界面,root账户的提示符为#,且默认情况下,root用户的UID为0。
 ​
 系统用户是Linux系统正常工作所必需的内建的用户,一般是用于管理服务所用。系统用户不能用来登陆,如bin、daemon、lp等用户。系统用户的UID一般为1~499,它们的shell为/sbin/nologin。
 ​
 普通用户是为了让使用者能够使用Linux系统资源而建立的,用户新建的账号一般就是普通账号。在Linux操作系统的字符界面,普通用户的提示符为$,且普通用户的UID默认为1000~60000。
 ​
 ~在Linux中代表用户主目录
 对一般用户,~表示/home/(用户名)
 对于root用户,~表示/root
 ​
 如果要查看~的真实面貌,可以先进入~目录,然后用pwd -P命令查看~的绝对路径
 cd ~
 pwd -P

4. shell提示符:[用户登录名@主机名 当前目录]#、$ ;

 [mozhiyan@localhost ~]$
 ​
 这种格式包含了以下三个方面的信息:
 启动 Shell 的用户名,也即 mozhiyan;
 本地主机名称,也即 localhost;
 当前目录,波浪号~是主目录的简写表示法。
 ​
 对于普通用户,Base shell 默认的提示符是美元符号$;对于超级用户(root 用户),Bash Shell 默认的提示符是井号#。该符号表示 Shell 等待输入命令。

5. 输入输出重定向及用户文件描述符;

 除了能从键盘输入和输出到屏幕,还应能从文件输入和输出到文件中保存信息,这就改变了原始的输出输出反向,这种改变就是重定向,重定向又分为输入重定向和输出重定向,而输出重定向又分为输出覆盖重定向和输出追加重定向。
 ​
 文件描述符
 在执行一个shell命令是通常会自动打开3个标准文件,如下:
 ​
 标准输入文件(STDIN,文件描述符为0):默认从键盘输入,也可以与重定向配合指定从文件或命令输入;
 标准输出文件(STDOUT,文件描述符为1):默认输出到屏幕,也可以与重定向配合指定输出到文件;
 错误输出文件(STDERR,文件描述符为2):默认输出到屏幕,也可以与重定向配合指定输出到文件;
 STDIN对应/dev/stdin设备,STDOUT对应/dev/stdout设备,STDERR对应/dev/stderr设备;
 ​
 标准输入:stdin      文件描述符    0          <  、<<    0< 、0<<         标准输入默认就是0,0可以省略不写
 ​
 标准输入:stdout     文件描述符    1          >   、>> 1>、1>>      
 标准输出默认就是1,1可以省略不写
 ​
 错误输出:stderr     文件描述符    2          >   、>> 2>、2>>      
 错误输出是2,2必须要写
 ​
 2>&1 和 &符号
 ls -l /etc/* fu.txt  >>outInfo.txt 2>&1                             #表示把标准输出和错误输出信息内容都追加到outInfo.txt文件
 ls -l /etc/* fu.txt  &>>outInfo.txt                                 #等价于上一条
 ls -l /etc/* fu.txt  >>outInfo.txt 2>>err.txt                       #标准输出和错误输出内容分别追加到不同的文件
 /dev/null 是一个无底洞,可以把不想要保留的信息丢进这个洞里  
 command  < file             等价于 command  0> file                    #将文件作为标准输入,即文件作为命令的标准输入,默认就是0,0可以不写
 command  << delimiter       等价于 command  << delimiter               #从标准输入中读入,直到遇到delimiter分隔符
 ​
 command  > file             等价于 command  1> file                    #将命令的标准输出内容覆盖到文件file,标准输入默认就是1,1可以不写
 command  >> file                        
 #命令的标准输出内容追加到文件末尾,默认就是1,1可以不写
 ​
 command  2> file                        
 #命令的错误输出内容覆盖到文件,错误输出必须要写文件描述符2
 command  2>> file                       
 #命令的错误输出内容追加到文件末尾,错误输出必须要写文件描述符2
 ​
 command  > file 2>&1                    
 # 2>&1意思是把 标准输出和错误输出 都重定向覆盖到 file文件
 command  &>file                         
 #等价于上面一条,把 标准输出和错误输出 都重定向覆盖到 file文件
 ​
 command  >> file 2>&1                   
 # 2>&1意思是把 标准输出和错误输出 都重定向追加到 file文件
 command  &>> file                       
 #等价于上面一条,把 标准输出和错误输出 都重定向追加到 file文件
 ​
 还可以将标准输出和错误输出方便重定向到不同的文件:
 command  >> file1  2>>file2                         
 # 标准输出重定向追加到 file1文件,错误输出重定向追加到 file2文件
 ​
 test.txt文件是不存在的
 ls /usr/local/apache/conf/ test.txt >>/stdout.txt  2>>stderr.txt        #标准输出内容追加到stdout.txt,错误输出内容追加到stderr.txt
 ls /usr/local/apache/conf/ test.txt &>>/stdout.txt                      #表示标准输出和错误输出内容都追加到相同文件
 ls /usr/local/apache/conf/ test.txt >>/stdout.txt  2>&1                 #同上

6. 常见的Linux文件类型及其对应的描述字符;

 在Linux中,有一句经典的话叫做一切皆文件”。
 文件分类:
 ​
 (1)普通文件(regular):存在于外部存储器中,用于存储普通文件。
 ​
 (2)目录文件(directory):用于存放目录项,是文件系统管理的重要文件类型。
 ​
 (3)管道文件(pipe):一种用于进程间通信的特殊文件,也称为命名管道FIFO。
 ​
 (4)套接字文件(socket):一种用于网络间通信的特殊文件。
 ​
 (5)链接文件(link);用于间接访问另外一个目标文件,相当于widows快捷方式。
 ​
 (6)字符设备文件(character):字符设备在应用层的访问结构。
 ​
 (7)块设备文件(block):块设备在应用层的访问接口。
 ​
 在linux终端下输入ls -l命令,学习linux每条文件信息的最左边的一个字符即表示了该文件的类别:
 b:块设备文件
 c:字符设备文件
 d:目录文件
 l:链接文件
 p:管道文件
 -:普通文件
 s:套接字文件

7. Linux的文件目录结构

 

 /boot:存放的启动Linux 时使用的内核文件,包括连接文件以及镜像文件。
 /etc:存放所有的系统需要的配置文件和子目录列表,更改目录下的文件可能会导致系统不能启动。
 /lib:存放基本代码库(比如c++库),其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
 /sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中
 指令集合:
 ​
 /bin:存放着最常用的程序和指令
 /sbin:只有系统管理员能使用的程序和指令。
 外部文件管理:
 ​
 /dev :Device(设备)的缩写, 存放的是Linux的外部设备。注意:在Linux中访问设备和访问文件的方式是相同的。
 /media:类windows的其他设备,例如U盘、光驱等等,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值