其他分享
首页 > 其他分享> > 预备作业:课程基础

预备作业:课程基础

作者:互联网

20182316胡泊 2019-2020-1 《数据结构与面向对象程序设计》第0周学习总结

1.预备作业

你对专业的认识和期望是什么?

==学习内容总结==

基本概念

$ sudo apt-get update
$ sudo apt-get install sysvbanner
$ banner hpnbbb

用户

sudoSuperuser do

允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,面向每个命令。

chmod

改变文件的读写许可设置

$ sudo adduser lilei
$ls /home (默认创建)
$su -l lilei
$who am i
$pwd
$ groups shiyanglou
shiyanlou:shiyanlou

冒号前为用户名,冒号后为所属用户组

$cat /etc/group |sort
$su -l  lilei
$sudo ls
$su shiyanlou
$groups lilei
$sudo usermod -G sudo lilei
$groups lilei

linux文件权限

文件权限

$ls -dl <目录名>

查看某一个目录的完整属性,而不显示里面的属性

目的:减少鼠标使用,简化操作。

环境变量

变量

$ declare tmp
$ tmp=shiyanlou
$ echo $tmp

变量类型

按照时间分类

永久生效

如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上你想添加的环境变量。

创建脚本文件

$ cd /home/shiyanlou
$ touch hello_shell.sh
$ gedit hello_shell.sh (gedit :文本编辑器)

加入

#!/bin/bash

for ((i=0; i<10; i++));do
    echo "hello shell"
done

exit 0

为文件添加可执行权限:

$ chmod 755 hello_shell.sh

7(111) / 5(101)

执行脚本:

$ cd /home/shiyanlou
$ ./hello_shell.sh

./hello_shell.sh 这句的命令是什么?

创建C语言程序

$ cd /home/shiyanlou
$ gedit hello_world.c

在编辑栏中输入

#include <stdio.h>

int main(void)
{
    printf("hello world!\n");
    return 0;
}

保存后用gcc生成可执行文件

$ gcc -o hello_world hello_world.c

我认为是用hello_world代替了hello_world.c

也相当于C语言中的编译过程

验证:

创建目录,并将文件移入其中

$ cd /home/shiyanlou
$ mkdir mybin
$ mv hello_shell.sh hello_world mybin/

在mybin目录中分别运行程序

$ cd mybin
$ ./hello_shell.sh
$ ./hello_world

删除修改已有变量

==${变量名#匹配字串}== 从头向后开始匹配,删除符合匹配字串的最短数据

==${变量名##匹配字串}== 从头向后开始匹配,删除符合匹配字串的最长数据

==${变量名%匹配字串}== 从尾向前开始匹配,删除符合匹配字串的最短数据

==${变量名%%匹配字串}== 从尾向前开始匹配,删除符合匹配字串的最长数据

==${变量名/旧的字串/新的字串}== 将符合旧字串的第一个字串替换为新的字串

==${变量名//旧的字串/新的字串}== 将符合旧字串的全部字串替换为新的字串

$ cd /home/shiyanlou
$ source .zshrc

source的别名就是 ==.== ,因此上面的命令可替换为:
$ . ./.zshrc
注意第一个点后面有一个空格,而且后面的文件必须指定完整的绝对或相对路径名,source 则不需要。

搜索文件——whereis/which/find/locate

$ whereis who
$ whereis find

快:没有从硬盘中依次查找,而是直接从数据库中查询

$ sudo apt-get update
$ sudo apt-get install locate
$ locate /etc/sh

不只是在 /bin 目录下查找,还会自动递归子目录进行查找。

$ locate /usr/share/\*.jpg

查找/user/share/下所有的jpg文件

注意要添加 号前面的反斜杠转义,否则会无法找到*。

$ sudo find /etc/ -name interfaces

find后第一个参数为搜索范围

find [path] [option] [action]
#### 与时间相关的命令参数

参数 说明
-atime 最后访问时间
-ctime 最后修改文件内容的时间
-mtime 最后修改文件属性的时间

以-mtime为例

$ cd /home/shiyanlou
$ zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop
$ du -h shiyanlou.zip
$ file shiyanlou.zip

==-r== 参数表示递归打包包含子目录的全部内容,==-q== 参数表示为安静模式,即不向屏幕输出信息,==-o==,表示输出文件,需在其后紧跟打包输出文件名。 ==du== 命令查看打包后文件的大小

$ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/*.zip
$ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/*.zip

1~9: 1表示快但体积大,9表示体积小但慢。

必须使用绝对路径。

tar

$ cd /home/shiyanlou
$ tar -cf shiyanlou.tar /home/shiyanlou/Desktop

-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后

$ mkdir tardir
$ tar -xf shiyanlou.tar -C tardir

解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)

总结

磁盘管理

查看目录容量

$ du -h -d 0 ~

vim快捷键的使用

image

虚拟机的安装

我暑假期间按照知乎上一篇的教程,一步步的安装,过程还算顺利,没有什么大的问题。

https://zhuanlan.zhihu.com/p/42001070

学习过程中的问题

标签:文件,zip,预备,作业,shiyanlou,课程,字串,home,hello
来源: https://www.cnblogs.com/hp12138/p/11483087.html