linux程序设计——安徽工业大学过期末考试篇

第一章 命令

一、文件基本操作

(1)文件列表(ls、chmod、chown)

显示文件列表(ls -l)-l是参数

ls命令:显示当前目录下的所有的文件

ls -l:显示total:文件夹的字节数(以kb为单位)

第1列:显示文件的类型和文件权限

① 前缀(首字符):

    d表示目录文件(可理解为文件夹);    -表示普通文件;

    c表示字符设备文件;                             b表示块设备文件;

    l表示链接文件;                                     p表示管道文件

②除前缀外每三个一组,表示文件访问权限;

    第一组表示文件属主的访问权限;

    第二组表示组用户成员的访问权限;

    第三组表示其他用户的访问权限;

    r表示可读;w表示可写;x表示可执行

③修改文件权限:chmod 权限位 文件名

    权限位:三个位置rwx对应二进制数,1表示有,0表示没有,比如rwx对应二进制数7;

第2列:显示文件的链接数

第3列:文件的属主

第4列:文件的组用户

①改变文件的属主及组用户

    chown(改变属主)——格式:chown 属主名 文件名——只有超级用户可以修改

    chgrp(改变组用户)——格式:chgrp 组用户名 文件名

第5列:文件的字节数

第6~8列:文件的修改时间

第9列(尾列):文件的文件名

(2)文件链接(ln、ln -s)

ln:硬链接(格式:ln 链接文件 被链接文件)—— 将文件放到硬盘上同样的位置;

echo “1111” > pp——将1111写入到pp文件中,>是重定向,覆盖pp

符号链接(软链接):ln -s

(3)显示文件(cat、more)

① cat 文件名:    直接显示全部,当文件内容过多的时候会导致上面的内容看不见;

② more 文件名: 逐屏显示,按空格往下一行一行显示;

③ less 文件名:  上下翻页,pgup和pgdn目录;

④ 文件头:head 文件名,tail 文件名;

(4)文件目录(cd、pwd、mkdir)

cd:切换目录

pwd:

mkdir:创建目录

man:用户手册

(5)拷贝文件(cp、cp-r)

① cp 被拷贝文件 拷贝目的目录(将文件pp拷贝到qq中——cp pp qq)

② cp -r qq we(拷贝目录qq及其中的所有文件和子目录拷贝到看目录we中)

(6)文件改名及移动文件(mv)

文件改名:mv pp oo(将文件名pp改为oo)——改名的时候oo这个文件名在目录中是没有的

文件移动:mv oo we(将文件oo移动到we中)

(7)删除文件及目录(rm、rm -r、rmdir)

① rm 要删除的文件名

② rmdir 要删除的目录名(需要时空目录);

③ rm -r 要删除的目录和其中的子目录

(8)查找及匹配文件内容(Find、grep)

查找文件:

    find 搜索的起点目录 搜索类型 搜索内容 -print

    比如:find . -name pc.c -print

  (从当前目录开始搜索,搜索文件名为pc.c的目录并将路径打印出来)

    其中搜索内容可以使用通配符,比如p*c就是以p开头以c结尾的文件

匹配字符串

    grep include pc.c ——在文件pc.c中查找字符串“include”

组合命令:

    find . -name pc.c -print|xargs grep include

    “|xargs”的作用是:将“|”前命令的执行结果,作为输入参数传递给“|”后的命令

二、文件系统:mount、umount、df指令

mount命令:显示当前系统中的各个文件系统及其挂载的目录

对于显示的    /dev/sda2 on / type ext4 (rw)    解读:

/dev/sda2【文件系统——对应硬盘的第二个分区】 on /【根目录】 type ext4【文件系统类型】 (rw)【可读可写】

mount 文件系统 挂载目录(比如:mount  /dev/sdb  /home/stu/qq)

nmount 文件系统(卸载下来)

三、文件归档压缩:tar、gzip、bzip2指令

(1)gzip,压缩成.gz文件,解压命令是gzip -d或者gunzip

(2)bzip2,压缩成bz2文件

四、进程:ps、pstree、kill指令

ps:显示当前用户在当前终端上运行的进程

ps -ef:显示整个系统上所有的进程

UID——用户ID;   PID——进程ID;   PPID——父进程ID;   C——CPU占用率;

STIME——进程开始时间;   TTY——进程运行的终端号; TIME——进程运行时间;

CMD——命令名

ps -aux:显示的更加丰富

ps -t pts/1:   在pts/1这个终端上运行的进程

kill -9 2706:  杀死对应的进程

第二章 vi编译器

一、两种模式切换、存盘等(命令格式:vi 文件名+回车)

①命令模式下:

    键入“delete”或者“x”删除光标位置的字符;

    返回“Esc”返回命令模式;

    键入“w”进行存盘;

    键入“q”进行退出,键入“wq”进行存盘退出。

②编辑模式下:

    键入小写的i或者a进入编辑模式;

    进入之后键入“Esc”返回命令模式。

二、vi下的快捷命令(在命令模式下)

① 键入小写“o”在光标所在行下面再启一个新行,且进入编辑状态;

② 键入大写“O”在光标所在行上面再启一个新行,且进入编辑状态

键入“yy”,光标所在行将被复制,将光标移动到某一行;

     键入“p”被复制的行将粘贴到这一行下面。

 键入“nyy”,光标所在连续n行将被复制,将光标移动到某一行;

     键入“p”被复制的n行将粘贴到这一行下面。

键入

一. 填空题: 1. 在Linux系统中,以 文件 方式访问设备 。 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。 3. Linux文件系统中每个文件用 i节点 来标识。 .... 82. 增加一个用户的命令是:adduser 或useradd 。 83 进行字符串查找,使用grep命令。 84. 使用 * 每次匹配若干个字符。 85. /sbin 目录用来存放系统管理员使用的管理程序。 二.单项选择题: 1. 下面的网络协议中,面向连接的的协议是: A 。 A 传输控制协议 B 用户数据报协议 C 网际协议 D 网际控制报文协议 2. 在/etc/fstab文件中指定的文件系统加载参数中, D 参数一般用于CD-ROM等移动设备。 ... 113.不是shell具有的功能和特点的是 C 。 A 管道 B 输入输出重定向 C 执行后台进程 D 处理程序命令 114.下列对shell变量FRUIT操作,正确的是: C 。 A 为变量赋值:$FRUIT=apple B 显示变量的值:fruit=apple C 显示变量的值:echo $FRUIT D 判断变量是否有值:[ -f “$FRUIT” ] 三.简答题: 1.简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程。 参考答案: Linux通过i节点表将文件的逻辑结构和物理结构进行转换。 i节点是一个64字节长的表,表中包含了文件的相关信息,其中有文件的大小、文件所有者、文件的存取许可方式以及文件的类型等重要信息。在i节点表中最重要的内容是磁盘地址表。在磁盘地址表中有13个块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相........ root@xxx:#crontab prgx;在每日早晨8:00之前开机后即可自动启动crontab。 6.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。Shell程序fileback存放在/usr/bin目录下。 参考答案: (1)编写shell程序fileback: #!/bin/sh DIRNAME=`ls /root | grep bak` if [ -z "$DIRNAME" ] ; then mkdir /root/bak cd /root/bak fi YY=`date +%y` MM=`date +%m` DD=`date +%d` BACKETC=$YY$MM$DD_etc.tar.gz tar zcvf $BACKETC /etc echo "fileback finished!" (2)编写任务定时器: echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron crontab /root/etcbakcron 或使用crontab -e 命令添加定时任务: 0 1 * * * /bin/sh /usr/bin/fileback 7.有一普通用户想在每周日凌晨零点零分定期备份/user/backup到/tmp目录下,该用户应如何做? 参考答案:(1)第一种方法: 用户应使用crontab –e 命令创建crontab文件。格式如下: 0 0 * * sun cp –r /user/backup /tmp (2)第二种方法: 用户先在自己目录下新建文件file,文件内容如下: 0 * * sun cp –r /user/backup /tmp 然后执行 crontab file 使生效。 8.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。 参考答案: 建立程序 Pro16如下: #!/bin/sh i=1 while [ i -le 50 ] do if [ -d /userdata ];then mkdir -p /userdata/user$i chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) else mkdir /userdata mkdir -p /userdata/user$i chmod 754 /userdata/user$i echo "user$i" let "i = i + 1" (或i=$(($i+1)) fi done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值