预备作业3 Linux安装及学习
Linux系统安装
在老师的教程帮助下成功的完成了虚拟机的安装,但安装过程中也遇到了一些问题。在下载ubuntu时,总是下载失败,在求助同学后,在中文版官网的网址,才下载成功。
Linux学习
- Linux作为一个操作系统包括如下结构:shell、库函数、硬件、内核、系统调用、应用。
- 具体操作主要通过命令进行使用。
- 命令:
格式:command [options] [arguments] 选项option是调整命令执行行为的开关,决定了命令的显示结果。参数argument是指命令的作用对象。注:ls和ls .等价。 - man命令:printf查找帮助文档,-k搜索学习命令,-f查看命令的基本功能。
- cheat命令:提供显示Linux命令使用案例,cheat 命令即可学习例子举一反三。
- find命令:查找文件在系统中的位置
- grep命令:对文件进行全文检索,格式为grep -n 所要查找的函数。
- whereis,which命令:查找适用的命令工具安装位置。which相对更精确,具体格式为whereis/which firefox。
linux基本快捷键:
- CTRL+ALT+T:打开终端;
- CTRL+SHIFT+T:新建标签页
- ALT+数字N:终端中切换到第N个标签页
- Tab:终端中命令补全
- 上下键盘:切换命令历史
-
CTRL+C:中断程序运行。
Linux基础入门课程
第一节
- Linux 主要包含计算机系统中的系统调用和内核.
- 相较于Windows系统,Linux的使用更加*也相对安全,但同时也面临部分软件的质量问题。
-
使用上来说,Linux兼具图形界面操作和完全的命令行操作。
第二节
- Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
- 快捷键
- Tab 补全
- Ctrl+c 强行终止当前程序
- Ctrl+d 键盘输入结束或退出终端
- Ctrl+s 暂定当前程序,暂停后按任意键恢复运行
- Ctrl+z 将当前程序放在后台运行,恢复到前台为命令fg
- Ctrl+a 将光标移至输入行头,相当与Home键
- Ctrl+e 将光标移至输入末行,相当于End键
- Ctrl+k 删除从光标所在位置到末行
- Alt+Backspace 向前删除一个单词
- Shift+PgUp 将终端显示向上滚动
- Shift+PgDn 将终端显示向下滚动
- 通配符
- 。 匹配0或多个字符
- ? 匹配任意一个字符
- [list] 匹配list中的任意单一字符
- [!list] 匹配除list以外的字符
- [c1-c2] 匹配c1-c2中的任意单一字符
- {string1,string2,...} 匹配string1或string2(或更多)其一字符串
-
{c1..c2} 匹配c1-c2中全部字符
第三节
用户
- who:查看用户。
- 相关参数:
- -a:打印能打印的全部。
- -d:打印死掉的进程。
- -m:和am i,mom likes相同。
- -q:打印当前登录用户数和用户名。
- -u:打印当前登录用户登录信息。
- -r:打印运行等级。
- sudo:以特权级别执行命令(root权限)。
- sudo adduser 用户名:新建用户。
- su:切换用户。
- exit:退出用户或终端,同Ctrl+d。
- groups:查看用户组,也可通过查看/etc/group文件。
- usermod:给用户添加用户组,其中可以使用sudo usermod -G sudo - - 用户名将用户添加到sudo用户组。
-
deluser:删除用户。
第四节
文件操作
- ls:通过不同的参数可以查看文件的权限、大小、文件名等等属性。
相关参数: - -A:显示除了 .(当前目录)和 ..(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)。
- -Al:查看某一个目录的完整属性。
- -dl::显示所有文件大小。
-AsSh:其中小s为显示文件大小,大 S 为按文件大小排序,可用man知道如何按其它方式排序。
- chown:改变文件拥有者,sudo chown 。
- chmod:更改文件权限
- 二进制数字表示:chmod 数字 文件名。
加减赋值操作:g、o 还有 u 分别表示 group、others 和 user,+ 和-分别表示增加和去掉相应的权限例:chmod go-rw 文件名。
- touch:创建文件。
- cp:复制文件,cp 文件名 路径。
- rm:删除,参数-f可以强制删除参数。
- mv:移动文件:mv 源目录文件 目的目录,重命名文件:mv 旧的文件名 新的文件名。
- rename:批量重命名。
- cat:正序显示打印文件内容到标准输出(终端),加上 -n参数显示行号
- tac:倒序打印文件内容到标准输出(终端)
- nl:添加行号并打印,比cat -n 更专业的行号打印命令
- more,less:分页查看。
- head ,tail: 查看文件的头几行(默认为 10 行,不足 10 行则显示全部)和尾几行。
-
目录
- cd:进入某个目录。
- pwd: 获得绝对路径。
- .:当前目录。
- ..:上级目录。
-:上一次所在目录。 - ~:当前用户的home。
- mkdir:创建目录。
- cp:加参数r或R复制指定目录,cp 文件名 路径。
-
rm:加参数r或R删除指定目录。
第五节
文件搜索
- whereis:简单快速, 直接从数据库中查询,只能搜索二进制文件(-b),man 帮助文件(-m)和源代码文件(-s)。
- locate:快而全,手动执行一次 updatedb 命令,用于更新它的查找对象——“ /var/lib/mlocate/mlocate.db ”数据库,它可以用来查找指定目录下的不同文件类型。
- which:小而精,通常使用 which 来确定是否安装了某个指定的软件,因为它只从 PATH 环境变量指定的路径中去搜索命令
find:精而细,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find 的第一个参数是要搜索的地方: 基本命令格式为 find [path] [option] [action],例如:sudo find /etc/ -name 文件或目录 。
与时间相关的命令参数:
-atime:最后访问时间
-ctime:最后修改文件内容的时间
-mtime:最后修改文件属性的时间
- 与这些参数相关的天数命令(以 -mtime 参数举例)
- -mtime n:n 为数字,表示为在 n 天之前的“一天之内”修改过的文件
- -mtime +n:列出在 n 天之前(不包含 n 天本身)被修改过的文件
- -mtime -n:列出在 n 天之内(包含 n 天本身)被修改过的文件
-
-newer file:file 为一个已存在的文件,列出比 file 还要新的文件名
第六节
文件打包与压缩
- du:查看文件的大小,压缩文件的压缩级别。
- zip:压缩打包文件。
- 相关参数:
- -r:表示递归打包包含子目录的全部内容。
- -q: 表示为安静模式。
- -o: 表示输出文件,需在其后紧跟打包输出文件名。
-O: 解压时可以指定编码类型unzip -O GBK 中文压缩文件.zip。
- unzip:解压缩zip文件。
- tar:打包但不压缩(不加参数)。
相关参数: - -c:打包。
- -x:解包。
- -f:接文件名。
- -z:用gzip工具压缩。
- -J:用xz工具压缩。
-j:用bzip2工具压缩。
变量
- declare:创建变量,用=对变量进行赋值。
- $:引用变量的值。
- set:打印当前 Shell 所有变量。
- env:打印当前用户相关的环境变量,还可以让命令在指定环境中运行,范围小于set。
- export:打印导出成环境变量的变量,也能通过它将自定义变量导出为环境变量范围比env更小。
- PATH=$PATH:用户名:添加自定义路径(一定要使用绝对路径)到“ PATH ”环境变量。
: 表示将标准输出以追加的方式重定向到一个文件中。
: 是以覆盖的方式重定向到一个文件中。
- unset:删除变量。
-
source:使环境变量立即生效。
第七节
磁盘
- df: 查看磁盘的容量,用参数-h增强可读性。
- du: 查看目录的容量。
- 相关参数:
- -d:指定查看目录的深度。
- -a:同--all 显示目录中所有文件的大小。
-s:同--summarize 仅显示总计,只列出最后加总的值。
- dd:转换和复制文件,也可以读取文件或写入到这些文件。格式为:选项=值。选项if和of可以改变标准输入和输出。
- mkfs:格式化磁盘。
- mount:挂载磁盘。
- unmount:卸载磁盘。
-
fdisk:为磁盘分区。
第八节
帮助
- help:显示内建命令简要的帮助信息。对于外部命令可使用--help参数。
- man:显示手册中的帮助信息。
- info:比man命令更为详细的GNU信息。
cheat:即“小抄”,简洁地提供比man更容易理解的解释与相应的例子,但是需要安装。