Linux
一、Linux概述
Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS 。至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个基本概念了,这里简单介绍一下操作系统在整个计算机系统中的角色。
我们的 Linux 主要是系统调用和内核那两层。当然直观地看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器、浏览器、电子邮件等。
Linux 本身只是操作系统的内核。内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本。
或许你之前不知道 Linux ,要知道,你之前在 Windows 使用百度、谷歌,上淘宝,聊 QQ 时,支撑这些软件和服务的,是后台成千上万的 Linux 服务器主机,它们时时刻刻都在忙碌地进行着数据处理和运算,可以说世界上大部分软件和服务都是运行在 Linux 之上的。
Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。
二、Shell
通常我们在使用 Linux 时,并不是直接与系统打交道,而是通过一个叫做 Shell 的中间程序来完成的,在图形界面下为了实现让我们在一个窗口中完成用户输入和显示输出,Linux 系统还提供了一个叫做终端模拟器的程序(Terminal)。
终端本质上是对应着 Linux 上的 /dev/tty 设备,Linux 的多用户登陆就是通过不同的 /dev/tty 设备完成的,Linux 默认提供了 6 个纯命令行界面的 “terminal”(准确的说这里应该是 6 个 virtual consoles)来让用户登录。
通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。有壳就有核,这里的核就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。
双击桌面上的 Xfce 终端 图标打开终端后系统会自动运行 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 将终端显示向下滚动
四、基础操作
1.通配符是一种特殊语句,主要有星号(*)和问号(?),用来对字符串进行模糊匹配(比如文件名、参数名)
2.一次创建多个文件,比如:“love_1_linux.txt,love_2_linux.txt,... love_10_linux.txt”
touch love_{1..10}_shiyanlou.txt
3.遇到困难,可以使用man命令
4.使用管理员权限
sudo 命令A # 管理员权限执行命令A
5.安装软件
sudo apt-get install python
6.卸载软件
sudo apt-get autoremove python
7.创建名为“ mydir ”的空目录
mkdir mydir
#删除空文件夹
rmdir mydir
8.创建父目录
mkdir -p father/son/grandson
9.使用 cp(copy)命令复制一个文件到指定目录
cp test father/son/grandson
#移动文件,修改目录
mv(move)
10.创建名为 test 的空白文件,因为在其它目录没有权限,所以需要先 cd ~ 切换回用户的 /home/shiyanlou 目录,使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(注意,我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件)
cd /home/shiyanlou
touch test
#删除文件夹或者文件
rm test
11.压缩与解压缩常用命令
sudo apt install zip # 安装zip命令
unzip 123 .zip # 解压
zip 123 .zip 123 # 压缩
12.notepad++
sudo snap install notepad-plus-plus # 安装notepad++
notepad-plus-plus test.txt # 打开文本,我们就可以像在windows下使用notepad++一样
ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息
ls 只列出文件名或目录名 就象windows里的 列表
ll -t 是降序, ll -t | tac 是升序
ll不是命令,是ls -l的别名
ls 命令可以说是linux下最常用的命令之一。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
五、示例
ssh root@bigger #远程登录,输入密码
cd /root/biggger/bd #原本目录为~,即root,现在进入到绝对路径bd
pwd #查看路径
cd ./bigger/bd #进入到相对路径,即root下的bd
cd ,, #进入到bd的上一级目录
ll #打印目前权限,目录,大小,时间等
ll -l #等同于ll,一般命名为ls -l(别名)
cd bigger/bd0 #没有这个文件,创建
touch f1.txt #新建一个
cp -a f1.txt f2.txt #新建两个
mv f1.txt f2.txt #用f1覆盖f2
rm -f f2.txt #强制删除