1、操作系统
没有安装操作系统的计算机称为裸机。在裸机上运行程序必须使用计算机能看懂的语言(机器语言)书写程序。如果安装了操作系统,就可以在操作系统上安装支持的高级语言环境,用高级语言开发程序
1、操作系统是现代计算机系统中最基本和最重要的系统软件
2、操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩展
3、操作系统主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便应用
4、大量的程序、系统、应用软件,都直接依赖于操作系统的支持
2、Linux 主要目录
| 目录名 | 说明 |
| / |
根目录,一般根目录下只存放目录。 有且仅有一个根目录,所有东西都是从这里开始 在终端输入 /home,先从 / 开始,再进入 home 目录 |
|
/bin /usr/bin |
可执行二进制文件的目录 如常用命令 ls, tar, mv, cat 等 |
| /etc |
系统配置文件存放的目录 如磁盘、网络、服务等 |
| /home |
系统默认的用户主目录 新增用户时,用户的主目录都存放在此目录下 |
| /root | root 用户的主目录 |
3、Linux 终端命令格式
command [-options] [parameter]
说明:[] 代表可选
1、command:命令名,相应功能的英文单词或单词的缩写
2、[-options]:选项,可用来对命令进行控制,也可以省略
3、[parameter]:传给命令的参数,可以是零个、一个或者多个
4、查阅命令帮助信息
| 方法 | 命令格式 | 作用 |
| help | command --help | 显示command命令的帮助信息 |
| man | man command |
查阅命令的使用手册 |
| 使用 man 时的操作键 | 空格 | 显示下一屏 |
| enter | 一次滚动一行 | |
| b | 回滚一屏 | |
| f | 前滚一屏 | |
| q | 退出 |
5、查看目录及目录内容
| 方法 | 命令 | 说明 |
| pwd |
pwd |
查看当前所在目录路径 |
| ls |
ls 或者 ls ./ |
显示当前目录内容 |
| ls /usr | 显示指定目录 /usr 内容 | |
| ls .. | 显示上级目录内容 | |
| ls -a | -a 显示所有文件信息,包括隐藏文件 | |
| ls -l | -l 显示文件或目录的详细信息 | |
| ls -hl | -hl 显示详细信息,并文件大小用人性化方式显示 | |
| ls -al | -al 显示所有文件的详细信息 | |
| * 代表任意多个字符 | ls *a | 查看以 a 结尾的的文件,或目录内容 |
| ls a* | 查看以 a 开头的文件,或目录内容 | |
| ls *a* | 查看名字中有 a 的文件,或目录内容 | |
| ?代表任意一个字符 | ls a? | a 开头,后面任意一个字符 |
| ls ?a | 开始有任意一个字符,后面是 a 结尾 | |
| ls ?? | 查看名字只有两个字符的 | |
| [] 代表范围 | ls [a,b,c]* | a 或 b 或 c 开头,后面任意 |
| ls [a-f]* | a 到 f 任意的一个开头,后面任意 | |
| ls *[a-f]* | 只要名字中有 a 到 f 任意一个字符即可 |
pwd
/g/乱七八糟的资料/数据分析项目合集
ls -a
./
../
.git/
.ipynb_checkpoints/
'~$SQL小技巧.docx'
'~WRL3777.tmp'
'02 Linux 命令和数据库2021配套笔记资源'/
20220318-图形图像处理/
ls -l
total 628109
-rw-r--r-- 1 hj 197121 162 10月 6 08:44 '~$SQL小技巧.docx'
-rw-r--r-- 1 hj 197121 41403 10月 6 08:45 '~WRL3777.tmp'
drwxr-xr-x 1 hj 197121 0 9月 12 08:11 '02 Linux 命令和数据库2021配套笔记资源'/
drwxr-xr-x 1 hj 197121 0 3月 18 2022 20220318-图形图像处理/
ls -hl
total 614M
-rw-r--r-- 1 hj 197121 162 10月 6 08:44 '~$SQL小技巧.docx'
-rw-r--r-- 1 hj 197121 41K 10月 6 08:45 '~WRL3777.tmp'
drwxr-xr-x 1 hj 197121 0 9月 12 08:11 '02 Linux 命令和数据库2021配套笔记资源'/
drwxr-xr-x 1 hj 197121 0 3月 18 2022 20220318-图形图像处理/
ls -al
total 628133
drwxr-xr-x 1 hj 197121 0 11月 4 15:34 ./
drwxr-xr-x 1 hj 197121 0 10月 25 14:24 ../
drwxr-xr-x 1 hj 197121 0 8月 3 19:50 .git/
drwxr-xr-x 1 hj 197121 0 8月 4 18:59 .ipynb_checkpoints/
-rw-r--r-- 1 hj 197121 162 10月 6 08:44 '~$SQL小技巧.docx'
-rw-r--r-- 1 hj 197121 41403 10月 6 08:45 '~WRL3777.tmp'
drwxr-xr-x 1 hj 197121 0 9月 12 08:11 '02 Linux 命令和数据库2021配套笔记资源'/
drwxr-xr-x 1 hj 197121 0 3月 18 2022 20220318-图形图像处理/
ls -l 返回结果说明

| 标识 | 含义 |
| 文件类型 | |
| d | 目录 |
| - | 文件 |
| l | 链接文件 |
| 文件存取控制 | |
| r=read | 可读 |
| w=write | 可写 |
| x=excute | 可执行 |
| 文件属主 | 文件所属用户 |
| 文件大小 | 默认单位为字节 |
| 文件修改时间 | 文件最近一次被修改的时间 |
| 文件或目录名 | |
| ./ | 当前目录 |
| ../ | 上级目录 |
| .文件名 | 隐藏文件 |
linux 权限含义
| 权限 | 文件 | 目录 |
| r | 没有 r 权限,文件不可读 | 没有 r 权限,不能使用 ls 查看目录内容 |
| w | 没有 w 权限,文件内容只读 | 没有 w 权限,不可以在此目录下创建新的文件 |
| x | 没有 x 权限,文件不可执行 | 没有 x 权限,不能 cd 进入这个目录 |
6、chmod 修改文件读取权限
| 标识 | 含义 |
| u=user | 文件所属用户 |
| g=group | 文件所属用户组 |
| o=other | 其他用户 |
| a=all | 所有用户 |
| + | 赋权 |
| - | 去权 |
| = | 等号后面有的就会赋权,没有的就去权 |
| 命令 | 含义 |
| chmod u+r a.txt | 给 a.txt文件所有者给予可读权 |
| chmod g-r a.txt | 给文件所属用户组去掉可读权 |
| chmod a+rwx a.txt | 给文件所有用户添加所有权限 |
| chmod o=r a.txt | 给文件其他用户保留可读、去掉可写可执行 |
数字法权限示意图:
| 所有者 u=user | 所属用户组 g=group | 其他用户 o=other | ||||||
| r | w | x | r | w | x | r | w | x |
| 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
| 常见权限数字组合 | 含义 |
| 777 | u+rwx; g+rwx; o+rwx |
| 755 | u+rwx; g+rx-w; o+rx-w |
| 644 | u+rw-x; g+r-wx; o+r-wx |
| 命令 | 含义 |
| chmod 777 a.txt | 所有用户所有权限 |
| chmod 111 a.txt | 所有用户保留可执行权限 |
7、cd 切换目录
格式: cd 目录名
备注小知识:绝对路径从根目录开始;相对路径从当前目录开始
| 命令 | 含义 |
| cd .. | 返回上级目录 |
| cd ../.. | 返回上级目录的上级目录 |
| cd | 返回用户主目录 |
| cd ~ | 返回用户主目录 |
| cd - | 返回切换之前的目录 |
| cd abc | 进入当前目录下的目录 abc |
| cd /abc | 进入根目录下的目录 abc |
8、创建文件/目录操作
| 命令 | 含义 |
|
torch 文件名 torch b.txt |
1、如果文件存在,修改文件时间 2、如果文件不存在,创建一个空白文件 |
|
mkdir [-p] 目录 mkdir aaa mkdir -p a/b/c |
1、创建新目录,不能与当前已存在目录同名 2、加入 -p,可以创建多层不存在的父子目录 |
9、rm 删除文件或目录
| 命令 | 含义 |
|
rm 文件 rm a.txt | 删除文件 |
|
rm -r 目录 rm -r aaa | 删除目录 |
|
当文件或目录不存在时会报错 增加 -f,目标不存在不会报错 | |
| rm -rf abc | 删除目录 abc,如果 abc 不存在,也不报错 |
10、cp 文件拷贝
格式:cp [选项] 原文件/目录 目标文件/目录
| 命令 | 含义 |
| cp 原文件 目标文件 | 文件拷贝 |
| cp a.txt abc/a.txt | 将当前目录下的a.txt文件拷贝到abc目录下 |
| cp abc/a.txt a.txt | 将abc目录下的a.txt文件拷贝到当前目录下 |
| cp -r 原目录 目标目录 | 目录拷贝 |
| cp -r a b/a | 将当前目录下的a目录拷贝到b目录下 |
| 可选项: -i | 在覆盖目标文件之前提示用户确认 |
11、mv 移动文件或目录
格式:mv [选项] 原文件/目录 目标文件/目录
用户可以使用 mv 命令来移动文件或目录,也可以给文件或目录重命名
小提示:cp之后,原文件或目录还存在,mv之后,原文件就不存在了
| 命令 | 含义 |
| mv abc a | 将当前目录下的abc目录移动到a目录下 |
| mv w.txt q.txt | 将当前目录下的w.txt重命名为q.txt |
| 可选项: -i | 在覆盖目标文件之前提示用户确认 |
12、查看文件内容(cat\more\grep)
cat 查看文件内容
格式:cat [选项] 文件
| 选项 | 说明 |
| -n | 对输出所有行编号 |
| -b | 对输出非空行编号 |
| 命令 | 含义 |
| cat /proc/version | 查看操作系统信息 |
| cat /etc/issue | 查看当前操作系统发行信息 |
| cat cpuinfo | 查看cpu信息 |
| cat a.txt | 查看a.txt内容 |
| cat q.txt u.txt m.txt | 查看多个文件内容 |
more 分屏查看文件内容
格式:more 文件名
more meminfo
| 操作 | 作用 |
| 空格 | 向下翻一页 |
| b | 回看一页 |
| q | 退出 |
grep 在指定文件中查找指定字符串所在行
格式:grep [选项] "字符串" 文件名
| 选项 | 说明 |
| -n | 显示行号 |
| -v | 查找不包含指定内容的行 |
| -i | 忽略大小写 |
| grep -n "s" meminfo | 查找 meminfo 中包含 s 的行,并显示行号 |
| 模式查找 | 含义 |
| ^字符串 | 查找指定字符串开头的行 |
| grep "^aaa" meminfo | 查找以 aaa 开头的行 |
| 字符串$ | 查找以字符串结尾的行 |
| grep "aaa$" meminfo | 查找以aaa结尾的行 |
| ^字符串.*字符串$ | 查找以指定字符串开头,指定字符串结尾的行 |
| grep "^aaa.*aaa$" meminfo | 查找以aaa开头以aaa结尾的行 |
13、echo 回显字符串
格式:echo 字符串
把 echo 后面的字符串回显到屏幕
>> echo hello
>> hello
14、clear 清屏
将屏幕所有内容清除,类似于 dos cls
>> clear
15、输出重定向 >/>>
linux 中允许把 命令执行结果(输出在终端上内容),重定向输出到一个文件中
格式: 命令 参数 > 文件名
如果文件不存在,就创建新文件;如果文件存在,就覆盖文件
| 命令 | 作用 |
| ls -l > a.txt | 将 ls -l 的执行结果放到 a.txt 中 |
| echo aaa > a.txt | 把 echo 命令执行结果放到 a.txt 中 |
小技巧:cat 结合重定向可以快速合并文件
格式:cat 文件1 文件2 文件3 > 文件4
| 命令 | 含义 |
| cat a.txt b.txt > c.txt | 把 a.txt 和 b.txt 内容合并到 c.txt 里 |
格式:命令 参数 >> 文件名
如果文件不存在,就创建新文件;如果文件存在,就在文件后面追加新内容
| 命令 | 作用 |
| ls -l >> a.txt | 将 ls -l 的执行结果追加到 a.txt 中 |
| echo aaa >> a.txt | 把 echo 命令执行结果追加到 a.txt 中 |
16、管道符 |
作用:把一个命令的输出作为另一个命令的输出
| 命令 | 含义 |
| 命令1 | 命令2 | 命令1的输出结果为命令2的输入数据 |
| ls -al | more | 把 ls -al 的结果作为 more 的输入,结果是可以间接实现 ls 的分屏显示 |
| ls -al | grep "^d" | ls -al 结果只显示目录 |
17、find 查找指定文件
find [路径] -name 文件名
小提示:如果省略路径,默认当前目录;find 命令可以与通配符结合使用
| 命令 | 含义 |
| find ./ -name a.txt | 从当前目录开始查找所有子目录,是否存在 a.txt 文件 |
| find / -name a.txt | 从根目录开始查找所有子目录,是否存在 a.txt 文件 |
18、ln 创建链接文件
(1)创建软链接
格式:ln -s 原文件 链接文件
| 命令 | 含义 |
| ln -s a.txt a | 给 a.txt 创建一个软链接 a |
软链接文件,用 ls -l 显示的时候,第一行标识是 l
(2)创建硬链接
格式:ln 原文件 硬链接文件
| 命令 | 含义 |
| ln a.txt b | 给 a.txt 创建一个硬链接文件 b |
硬链接文件,用 ls -l 显示文件硬链接数会增加
(3)软链接与硬链接的区别
1)软连接不占用磁盘空间,硬链接会占用磁盘空间
2)当原文件不存在,软链接也没有任何意义了,硬链接还可以使用
19、压缩、解压与打包(gzip\zip\tar)
(1) gzip 文件压缩与解压
| 命令 | 含义 |
| gzip 文件名 | 压缩文件 |
| gzip a.txt | 把 a.txt 压缩为 a.txt.gz,同时 a.txt 文件不存在了 |
| gzip -d 文件名 | 解压文件 |
| gzip -d a.txt.gz | 把 a.txt.gz 解压,解压后生成 a.txt,a.txt.gz 就不存在了 |
(2)zip 压缩和解压文件
| 命令 | 含义 |
| zip 文件名.zip 源文件 | zip 压缩 |
| zip a.zip a.txt | 把 a.txt 压缩为 a.zip,压缩完成后 a.txt 还存在 |
| unzip 文件名 | zip 解压 |
| unzip a.zip | 把 a.zip 解压,解压完后 a.zip 还存在 |
(3)tar 打包和解包文件或目录
tar 命令的作用就是将多个文件或目录打包成一个文件
| tar 常用选项 | 说明 |
| c | 生成档案文件,创建打包文件 |
| x | 解开档案文件 |
| v | 列出归档解档的详细过程,显示进度 |
| f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
| t | 查看包中内容 |
| 命令 | 说明 |
| tar -cvf 打包文件名 原文件 | 打包 |
| tar -cvf a.tar a | 把目录 a 打包为一个文件 a.tar |
| tar -tvf 打包文件名 | 查看打包内容 |
| tar -tvf a.tar | 查看 a.tar 文件内容 |
| tar -xvf 打包文件名 | 解包 |
| tar -xvf a.tar | 将 a.tar 还原 |
(4)tar 与 gzip 通过 -z 一步实现(打包与压缩)及(解压与解包)
tar 命令用于文件打包,但并不会同时压缩文件,结合 z 选项实现打包同时压缩,或解压同时解包
| 命令 | 说明 |
| tar -zcvf 压缩包名.tar.gz 原文件 | 打包同时用 gzip 压缩 |
| tar -zcvf abc.tar.gz abc | 把 abc 打包后同时用 gzip 压缩 |
| tar -zxcf 压缩包名.tar.gz | 用 gzip 解压同时解包 |
| tar -zxcf abc.tar.gz | abc.tar.gz 用 gzip 解压之后用 tar 解包 |
20、df 显示磁盘空间
格式:df [选项]
| 选项 | 说明 |
| -h | 用人性化方式显示磁盘大小 |
df -h # 用人性化方式显示磁盘大小
Filesystem Size Used Avail Use% Mounted on
D:/Program Files/Git 200G 55G 146G 28% /
C: 98G 79G 20G 81% /c
E: 176G 67G 110G 38% /e
F: 173G 157G 17G 91% /f
G: 147G 39G 108G 27% /g
I: 137G 98M 137G 1% /i
21、ps 显示系统进程
格式:ps [选项]
| 选项 | 说明 |
| -a | 显示终端上的所有进程,包括其他用户的进程 |
| -u | 显示进程的详细状态 |
| -x | 显示没有控制终端的进程 |
命令:ps -aux 或 ps aux
显示系统中所有进程,并显示进程的详细信息
(注释:此示例是查看windows系统下的进程信息)
ps aux
PID PPID PGID WINPID TTY UID STIME COMMAND
1407 1210 1407 20104 pty0 197609 10:08:06 /usr/bin/ps
1210 1209 1210 1416 pty0 197609 Nov 4 /usr/bin/bash
1209 1 1209 20028 ? 197609 Nov 4 /usr/bin/mintty
| 重点关注字段 | 含义 |
| PID | 进程 ID 号 |
| USER | 运行进程的用户 |
| %CPU | 进程 CPU 占有率 |
| %MEM | 进程内存占有率 |
| %COMMAND | 启动进程的命令名 |
22、top 动态查看进程信息
top #动态查看进程运行状态
q # 退出操作
23、kill 杀死进程
格式:kill [选项] PID
| 选项 | 说明 |
| -9 | 立即强制终止进程 |
# 在图形界面下,启动了 gedit 程序,用 kill 杀掉
# ps aux 查看详细的进程信息,再使用 grep 查找包含字符串 "gedit" 的进程
ps aux | grep "gedit"
# 使用 kill 杀死 gedit 进程
kill gedit的PID
24、ping 测试目标主机是否网络联通
ping ip 或 域名
25、ifconfig 查看网卡信息
ifconfig
26、用户与权限
(1)root 用户
linux 系统中的 root 用户通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限
root 用户主目录是: /root
(2)su 切换用户
格式:su [-] [用户名]
| 常用选项 | 说明 |
| - | 切换为其他用户,同时切换到用户主目录 |
| 没有 - | 切换为其他用户,但不改变当前目录 |
| [用户名] | 切换到指定用户,普通用户不用输入密码 |
| 不加[用户名] | 默认切换到 root 用户,root用户需要输入密码 |
(3)exit 退出当前用户
exit
(4)useradd 新增用户
一般 root 账户采用新增用户的权限
格式:useradd [选项] [用户名]
| 选项 | 说明 |
| -d 目录名 | 指定新用户主目录 |
| -m | 如果 -d 参数中指定的主目录不存在,就自动创建这个目录 |
新增用户 abc,指定主目录为 /home/abc
useradd -d /home/abc abc -m
小技巧:可以再新增用户同时指定用户默认的 shell
# 新增 abc 用户同时指定 shell 为 bash
useradd -d /home/abc abd -m -s /bin/bash
(5)passwd 修改用户密码
格式:passwd [用户名]
一般管理员才会进行用户密码的配置。root 可以改其他用户的密码。其他用户只能修改自己的密码。
(7)userdel 删除用户
格式:userdel [用户名]
| 选项 | 说明 |
| -f | 强制删除用户账户,甚至用户仍在登录状态,也强制删除 |
| -r | 用户主目录中的文件将随用户主目录一起删除 |
# 删除用户 abc,同时删除用户主目录
userdel -r abc
(8)whoami
查看当前登录用户名
whoami
27、文本编辑器 vi 的使用
vi 是一个基于字符界面文本编辑程序
vi 没有菜单,只有命令
vi 有三种基本工作模式:命令模式;输入模式;末行模式
(1)启动 vi
| vi 文件名 |
1、如果文件存在,打开已有文件,进入命令模式 2、如果文件不存在,创建一个新文件,并打开,进入命令模式 |
(2)命令模式下的操作
在 shell 环境下输入启动 vi 命令,进入编辑器时,就处于该模式下
任何时候,不管用户处于何种模式,只要按下 esc 键,即可使 vi 进入命令模式
| 命令模式 | 命令 | 说明 |
| 进入文本输入模式 | i | 在光标前插入 |
| I(大写i) | 在光标所在行首插入 | |
| a | 在光标后插入 | |
| A | 在光标所在行尾插入 | |
| o | 在光标所在行下开启新行插入 | |
| O | 在光标所在行上开启新行插入 | |
| 删除命令 | x | 删除光标所在位置前的字符 |
| dd | 删除光标所在行 | |
| ndd | 删除从光标位置开始指定数量的行 | |
| 撤销和反撤销 | u | 撤销 |
| ctrl+r | 反撤销 | |
| 复制和粘贴 | yy | 复制光标所在的一行 |
| nyy | 复制光标所在的 n 行 | |
| p | 从光标所在位置下面开辟新行并复制 | |
| 查找 | /字符串 | 查找字符串 |
| n | 查找下一个 | |
| N | 查找上一个 | |
| 定位指定行 | nG | |
| 20G | 跳转到第 20 行 | |
| 1G | 回到第一行 | |
| G | 到最后一行 | |
| 进入末行模式 | : | 从命令模式进入末行模式 |
| w |
保存文件,不退出 vi | |
| w 文件名 | 另存为 | |
| wq | 保存退出 | |
| q | 退出,如果文件内容已经修改,直接退出会提示错误 | |
| q! | 不保存退出 |
1837





