栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux复习

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux复习

Linux复习 1、LINUX基本操作

​ 要求熟练掌握下述命令:
​ cd,ls,dir,pwd,mkdir,rmdir,mv,rm,cp,less,cat,more,grep,find,tail,tuch,head,wc,date,cal,logout,echo以及管道、IO重定向、目录与路径、绝对路径与相对路径、(登录)用户目录的概念等
​ 完成下列操作:
​ 1)检查当前目录,并将当前目录更改为用户目录(注意目录表示的意义:. 、… 、~);

pwd
cd 或者cd ~
. 当前目录
.. 上一层目录
~  当前用户的home目录

​ 2)在当前目录下创建名为sun和smith的子目录;

mkdir sum
mkdir smith

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ec0lQbGG-1638972567140)(https://s2.loli.net/2021/12/08/ZKTp5hvqsN1kx7X.png)]

​ 3)将/etc目录下扩展名为.conf的文件拷贝到sun子目录中;

cp /etc/*.conf ./sun/


​ 4)在sun子目录中创建新的子目录2010-10-10;

mkdir 2021-12-8

​ 5)将/bin目录下的以m头的文件复制到2010-10-10目录下;

cp -r /bin/m* ./2021-12-8/

​ 6)列表用户目录下的所有文件,包括隐含文件(注:可以用cd ~命令将当前目录更改到用户目录);

​ 7)用参数-l列出/bin目录下的文件gzip的目录信息,并说明其各部分的意义,如文件长度、访问权限等;

-rwxr-xr-x 1 root root 97496 12月13 2019 /bin/gzip

第一个- :普通文件

rwx : 创建者可以读可写可执行

r-x : 同一组可读不可写可执行

r-x:其它成员可读不可写可执行

1:文件个数,是文件的话就是1,是目录的话,就是目录中文件的个数

root:该文件的拥有者

root:所属的组

97496 :文件的大小,单位是Byte

12月13 2019 :最后一次修改时间

/bin/gzip :文件名

​ 8)查找系统中文件名为touch的命令文件,并记录该文件的位置;

sudo find / -name "touch"

​ 9)使用帮助系统,获取touch命令的功能与用法,并使用该命令,实现现1至2个功能;

​ 10)分别用less、cat、more命令显示文件/etc/services的内容;

​ 11)执行ls -l /etc命令,并通过管道|将命令结果送more命令处理;

ls -l /etc | more

​ 12)运用重定向符,将目录/etc、/dev信息保存到文件dirinfo.txt中,存储位置为用户目录,用less、cat或more命令检查文件内容是否正确;

ls /etc >> dirinfo.txt
ls /dev >> dirinfo.txt

​ 13)在用户目录拷贝dirinfo.txt一份备份文件,文件名为directoryinfo.bak,运用cat命令,将/etc/services文件内容连接到directoryinfo.bak文件后面,并检查命令执行结果是否正确;

cp dirinfo.txt directoryinfo.bak
cat /etc/services >> directoryinfo.bak

​ 14)使用目录列表命令列出/dev目录信息,并用grep命令过滤除文件名中含有“fd”字符的文件信息;

ls /dev | grep fd

2、shell编程 3、用户管理

1)以管理员(又称超级用户)身份登录;

su

2)创建用户帐户tarry和bill,并设置口令;

usradd tarrry
useradd bill
passwd tarry
passwd bill

3)在开启另一个控制台,分别是tarry和bill身份登录,登录成功后,检查用户目录是否分别是/home/tarry和/home/bill,如果不是,检查步骤2)中的命令是否正确,注销该登录;

发现并没有home目录

带上参数

useradd -m tarry

这样就有目录了

4)删除用户bill,并在另一控制用bill身份登录,是否成功?

不能

4、文件管理 5、备份管理

1)tar命令的使用:打包与解包;见课堂示例

2)压缩与解压缩命令:gzip,unzip,Compress 等用法,压缩文件的扩展名

3)tar的压缩与解压缩

6、软件包的安装维护

1)rpm命令的使用:软件包W查询、安装、删除操作。见课堂示例
  2)软件包安装,从CDROM上安装软件(包括CDROM加载/卸载)
  3)软件删除

8、进程管理

进程的查看

ps [选项]
-a 显示所有用户的进程
-x 显示没有控制终端的进程和后台进程
-u 显示进程所有者的信息
-e 显示所有的进程

查到的进程可以通过管道来过滤

进程的终止

kill 进程号

进程的后台运行方法

前台进程与后台进程

>> 追加
> 直接写入

typedef struct {
    int val;
    struct MylinkedList* next;
} MylinkedList;


MylinkedList* mylinkedListCreate() {
    // 虚拟头节点
    MylinkedList* head = (MylinkedList*)malloc(sizeof (MylinkedList*));
    head->next = NULL;
    return head;
}

int mylinkedListGet(MylinkedList* obj, int index) {
    MylinkedList *cur = obj->next;
    for(int i = 0; cur != NULL;i++){
        if(i == index){
            return cur->val;
        }else{
            cur = cur->next;
        }
    }
    return -1;
}

void mylinkedListAddAtHead(MylinkedList* obj, int val) {
    MylinkedList *nhead = (MylinkedList *)malloc(sizeof(MylinkedList));
    nhead->val = val;
    head->next = obj->next;
    obj->next = next;
}


void mylinkedListAddAtIndex(MylinkedList* obj, int index, int val) {
    if(index == 0){
        mylinkedListAddAtHead(obj,val);
    }
    MylinkedList *cur = obj->next;
    for(int i = 1;cur != NULL;i++){
        if(i == index){
            MylinkedList* newnode = (MylinkedList*)malloc(sizeof(MylinkedList));
            newnode->val = val;
            newnode->next = cur->next;
            cur->next = newnode;
            return;
        }else{
            cur = cur->newnode;
        }
    }
}

void mylinkedListDeleteAtIndex(MylinkedList* obj, int index) {
    if(index == 0){
        MylinkedList *tmp = obj->next;
        if(tmp != NULL){
            obj->next = tmp->next;
            free(tmp);
        }
        return;
    }
    MylinkedList *cur = obj->next;
    for(int i = 1;cur != NULL && cur->next != NULL;i++){
        if(i == index){
            MylinkedList *tmp = cur->next;
            if(tmp != NULL){
                cur->next = tmp->next;
                free(tmp);
            }
            return;
        }else{
            cur = cur->next;
        }
    }
}

;cur != NULL && cur->next != NULL;i++){
if(i == index){
MylinkedList *tmp = cur->next;
if(tmp != NULL){
cur->next = tmp->next;
free(tmp);
}
return;
}else{
cur = cur->next;
}
}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642511.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号