Ubuntu(乌班图)
Ubuntu是一个带有可视化操作界面的GNU/Linux操作系统
什么是linux
Linux 内核,其发音为 ‘lee-nucks’,是 Ubuntu 操作系统的核心。内核是操作系统的重要组成部分,它是硬件和软件之间进行通讯的桥梁。 Linux 诞生于1991年,由芬兰学生 Linus Torvalds 发起。那时,它只能运行在 i386 系统上,实质上是个独立编写的 UNIX 内核之克隆,旨在充分利用当时全新的 i386 架构。
什么是GNU
GNU 项目,其发音为“guh-noo”,于1984年发起,目标是开发一个完整的 UNIX 类的操作系统-GNU 系统,它全部由自由软件组成。使用 Linux 内核的 GNU 操作系统变种已被广泛使用;尽管这些系统常冠以“Linux”,更准确的说它们应称为 GNU/Linux 系统。 GNU 项目和自由软件的理念紧密相连,它也是衍生自 GNU 的、诸如 Ubuntu 等项目的关键所在。
Ubuntu目录结构
Ubuntu主要目录
- / :根目录,在linux下有且只有一个目录,所有东西都是从这里开始.
- /bin & /user :可执行二进制文件的目录.
- /boot :放置linux启动时用到的一些文件,如linux的内核文件:/boot/vmlinuz, 系统引导管理器:/boot/frub.
- /etc :系统配置文件存放的目录,不建议在此目录下存放可执行文件.
- /home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下.
终端
使用命令行并不像您想象的那么困难。使用命令行不需要专门知识,和其它软件一样,它也仅仅是一个程序。Linux 中绝大部分工作都可以用命令行完成,尽管大部分程序都有相应的图形工具,但有时这些图形工具会捉襟见肘,不够用。此时便是命令行大显身手的时候。 终端常常被称为命令行或者 shell。
启动终端
- 鼠标点一哈
- 按Crtl+Alt+T
常用命令
- 查看目录:ls 查看当前目录下,有什么目录,文件
- 创建目录:mkdir (目录名),可以理解为在windows下创建文件夹
- 创建文件:touch (文件名),如果要创建python文件,touch test.py
- 切换目录:cd (directory/location),cd后跟绝对路径或相对路径
cd / # 进入根目录
cd ~ # 进入用户的home目录
cd - # 进入上次访问的目录,类似于windows的ctrl+tab 切换功能
cd .. # 返回上级目录
cd . # 不会有任何反应,因为.表示当前目录
- 复制文件:cp (源文件或目录名) (目标目录或文件名)
- cp(copy)命令会拷贝指定的任意文件。cp -r 命令则可以拷贝指定的任意目录
- 删除文件/目录:rm (文件或目录名)
- rm(remove)可以删除指定的任意文件,rm -rf,-f是强制删除,-r是递归删除目录下的内容,可以删除指定的任意目录;rmdir 删除空文件夹
- 重命名文件/目录:mv (源文件或目录名) (目标文件或目录名)
mv aaa bbb # 将当前目录下的aaa文件改名为bbb
mv info/ logs # 将info目录放入logs目录中,如果logs目录不存在,则将info改名为logs
mv /usr/student/* . # 将/usr/student下所有文件和目录移动到当前目录下
- 查询命令的使用手册:man command(如ls)
- 显示文件系统空间信息:df (文件名) [-h],-h是人性化显示
- 显示目录的空间使用信息:du (目录名)
du -sh /media/floppy # -s 是summary,-h 是human-readable
- ~ 代表主目录。如果你创建的用户叫user,~ 代表/home/user
- 显示当前路径 pwd
- 显示系统的网络 ifconfig, windows下的ipconfig
- 显示目录结构: tree 如果提示没有该命令就下一个,sudo apt install tree.
root用户和sudo命令
GNU/Linux 系统的 root 用户具有系统的管理权限。出于安全考虑,普通用户并不具备这一权限。不过,Ubuntu 上并不包含 root 用户,而是将管理员权限授予特定用户,他们可以使用 “sudo” 应用程序来执行管理任务。
命令行软件包管理
APT(Advanced Package Tool,高级软件包工具)
APT是一个强大的包管理系统,运行APT要求管理权限(root用户和sudo命令)
安装软件包
sudo apt-get install packagename
删除软件包
sudo apt-get remove packagename
获取新的软件包列表
sudo apt-get update
升级
sudo apt-get upgrade
列出更多命令和选项
apt-get help
以上内容参考自:https://wiki.ubuntu.org.cn/Ubuntu%E6%A1%8C%E9%9D%A2%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97#.E6.8E.92.E7.89.88.E7.BA.A6.E5.AE.9A
查看文件内容相关命令
cat
- 查看文件内容,cat+空格+文件名
- 该命令会一次性显示所有内容,所以适合查看内容较少的文件
选项 | 功能 |
---|---|
[-b] | 只显示有内容的行号,空行不算一行 |
[-n] | 显示每一行的行号 |
more
- 此命令可以分屏显示文件内容,每次只显示一页内容。适合查看内容多的文件。进入文件后可按以下内容操作:
操作按键 | 功能 |
---|---|
空格键 | 显示下一页内容 |
回车键 | 显示下一行 |
b | 返回,显示上一页 |
f | 和空格效果一样,显示下一页 |
q | quit,退出more模式 |
/搜索文字 | 搜索文本中的内容 |
grep
- (global search regular expression and print out the line, 全面搜索正则表达式并把行打印出来) 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项 | 功能 |
---|---|
[-n] | line-number,显示匹配行及行号 |
[-v] | invert-match, 选中不匹配的行 |
[-i] | ignore,忽略大小写 |
grep中常用的查找方式
- file_nmae中搜索hello world这个单词
$ grep "hello world" file_name
- 在多个文件中查找
grep "hello world" file_1, file_2, file_3...
- 在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行.
grep test *file
- 查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符串"update"的文件,并打印出该字符串所在行的内容
grep -r update /etc/acpi
- 查找文件名中包含 test 的文件, 文件内容中不包含test 的行
grep -v test *text*
- 常用的两种模式查找
参数 | 功能 |
---|---|
^hello | 行首,搜索已hello开头的行 |
world$ | 行尾,搜索已world结尾的行 |
几个常用的符号
重定向符
- linux中允许将命令执行的结果重定向到一个文件
- 将本应该显示在终端上的内容输出/追加到指定文件中
符号|功能
|输出重定向到一个文件或设备 覆盖原来文件
|输出重定向到一个文件或设备 追加原来的文件
- echo会在终端中显示参数指定的文字,通常会和重定向联合使用
管道符|
- linux允许将一个命令的输出,可以通过管道做为另一个命令的输入
command 1| command 2|conmmand 3 ...