Linux系统入门

1.什么是操作系统os

特殊的_软件_,向上能直接控制硬件,向下能支持QQ这样的程序运行。

2.常见的操作系统

win7 win10 mac Android ios 塞班 Linux

3.操作系统发展史

1965年之前,电脑不普及,只有在军事或研究机构有。大型主机可以连接多个终端。、

1969年为了玩游戏(多用户),贝尔实验室的肯汤普逊利用妻子探亲时间用一个月完成了Unix原型。(BCPL语言)【70年诞生B语言 跨平台性低】

1972年贝尔实验室两货研究出了可以跨平台的C语言。 93年C主体完成,用它重写了Unix系统。

Unix7版本之后,Unix被私有化。某教授编写了兼容Unix的系统--->Minix(mini-Unix)【只用来教学,功能简化】

Linux 开源强化(图标是企鹅 因为Linus 小时候动物园被企鹅咬了一口)

内核kernel ?发动机。

Android是在Linux内核基础上封装了一些java的东西。MAC ios 也是间接来源于Linux

4.Linux不同版本

  • 内核版(已有几千万行)
  • 发行版 ubantu 红帽等。

应用领域

  • 服务器领域
  • 嵌入式领域(智能硬件。机顶盒、数字电视、网络电话等。)智能XX

Linux 基本操作命令

终端字体放大:ctrl shift +

终端字体缩小:ctrl -

ls 命令 。 显示当前路径下的文件和文件夹

linux目录结构(没有盘符概念,“/”为根目录)

除了home文件夹,其他文件夹尽量不要动。

home文件夹可能存在多个文件夹,分别是各个用户的目录。

当前用户的目录叫做家目录。(终端默认目录是家目录

pwd命令 。 显示当前所在目录(/home/hechongde/1.txt)

根目录下的home文件夹下的。。。(第一个斜杠表示根目录)

cd命令。 切换到目录

touch 创建文件

可以没有后缀,linux里面的后缀只是个样子,你不区分格式

mkdir 创建文件夹。

clear 清屏

命令格式

命令 【-选项】 【参数】 (选项可以有多个,并且不分先后)

例如: ls / 显示根目录里面的东西

ls /bin 显示bin目录下的文件夹

ls -a 显示包含隐藏文件的全部文件(一般以"."开头的文件为隐藏文件

ls -l 以列表方式显示 等价于LL命令

ls -l -h 以合适单位显示文件大小 (等价 -lh -hl)

ls - - help 查看ls命令的帮助详细内容

man ls 查看手册 按Q退出

TAB键可以自动补全命令,如果有多个可以匹配,则匹配完前面相同的部分,不同的部分需要再写。两次TAB键会提示所有能补充的内容。

gedit 命令 编辑与查看 /抛弃

cat 命令 查看文件 ,不能编辑

cat可以同时查看多个文件内容

cat 1.txt 2.txt 同时显示两个文件

cat 1.txt 2.txt > xxx.txt 合并两个文件到新文件

history命令 历史命令,刚刚执行过的命令

!历史命令序号 执行历史命令 (不隔空格)

按上下键可以快速执行历史命令。

r m命令 删除文件或文件夹

通配符(正则表达式)

例如 ls 2 * 显示所有以2开头的文件

常见: * 任意字符串

? 任意一位字符

[ 1 2 a b ] 中括号内内容的任意一位

重定向

ls -alh > xxx.txt 把要显示的内容保存到xxx.txt中

ls >> xxx.txt 追加(保存到末尾)方式保存到xxx.txt

文件不存在时会自动创建文件。

more 命令 分屏显示大文件 (F 下一页 B 上一页 Q 退出)

ls -lah /bin | more 通过管道分屏显示 优点不需要生成中间文件。

多个命令一起执行: 用“;”隔开 不建议用。

相对路径与绝对路径

cd ./A 进入当前文件夹下的A文件夹

cd .. 进入当前文件夹的上一层文件夹

cd ../.. 进入上一层的上一层

cd /home/python 以绝对路径进入python文件夹

cd - 快速回到上一次所在的路径。

cd ~ 快速进入家目录

ctrl C 不执行并换行

tree 命令 以目录树的形式显示当前目录下的文件。

mkdir A/B/C/D 错误

mkdir A/B/C/D -p 正确 在中间文件夹不存在时使用,会自动创建中间文件夹

rmdir 命令 删除文件夹

注意:rmdir不能直接删除非空文件夹

加“ - r ” 即可删除 例:rmdir A - r 正确 非空也可

链接

类似windows里面的快捷方式

ln -s 原文件名 链接文件名 // 对原文件创建一个软连接

ln 原文件名 链接文件名 //创建硬链接

软连接相当于快捷方式 ;硬链接相当于给文件起了个别名。当硬链接有多个时,删除原文件,并不真正删除文件,当硬链接为0时才将文件删除。

mv命令1 重命名文件或文件夹

mv命令2 移动文件

mv 1.txt laowang/ 把文件剪切并粘贴到指定文件夹(移动)

grep 命令 查找搜索内容

grep "字符串" xxx.txt 在指定文件查找指定字符串的行

grep -n "字符串" xxx.txt 搜索并显示行号

grep -v "字符串" xxx.txt 搜索显示不包含指定字符串的行

grep "^字符串" xxx.txt 在指定文件查找"以指定字符串开头“的行

grep "字符串$" xxx.txt 在指定文件查找"以指定字符串结尾“的行

cp命令 复制并粘贴(copy)

cp 1.txt A/ 复制到指定文件夹

cp 1.txt 2.txt 复制一份1命名为2

牵扯到文件夹不让用时 加个” - r “就可解决。

find 命令 从指定位置找文件名

find / -name "_name_"

tar 打包压缩

tar -cvf 包名 *.py //把以py结尾的文件打包到“包名”中(不压缩)

tar -xvf 包名 //解包到当前文件夹(不压缩)

压缩方式一(打包)

tar -zcvf xxx.tar.gz *.py //打包并压缩(注意后缀为“.tar.gz”) 百倍压缩

tar -zxvf xxx.tar.gz //解压缩并解包

tar -zxvf xxx.tar.gz -C ./YY/B //解压缩并解包到指定文件夹

压缩方式二

tar -jcvf xxx.tar.bz2 *.py //打包并压缩(注意后缀为“.tar.gz”) 比方式一略大

tar -jxvf xxx.tar.bz2 //解压缩并解包

压缩为zip

zip zzz.zip *.py //压缩为zip

unzip zzz.zip //解压

unzip zzz.zip -d ./YYd/B //解压缩并解包到指定文件夹

大小是方法二的三四倍,较差

which命令 查看某个命令是哪个路径下的文件

which ls

Linux 系统管理命令

cal命令 日历

  • cal -y 2008 //显示2008年所有日历 //无农历
  • cal //显示今天

date命令 查看当前时间

  • date > x.txt
  • date "+%Y----------%m---------%d" //显示日期 格式/年-------月------日
  • date "+%Y年%m月%d日"

ps命令 进程信息

  • ps //当前终端进程
  • ps -aux //所有进程

top命令 显示当前所有进程 (动态显示)

  • htop更全更细

kill命令 杀死指定进程

  • kill -9 9822 //强制杀死9822号进程

reboot 命令 重启

shutdown -h now 关机

df -h 查看硬盘使用情况

du -h 显示当前路径下硬盘使用情况

ifconfig 显示电脑网络连接情况

ping 172.16.7.1 查看当前电脑是否可以通信

与用户相关的命令

  • useradd 账户名 -m //添加一个账户 //-m指自动创建家目录。
  • sudo 使用管理员权限
  • su 账户名 //切换到另一个账户
  • su - 账户名 //切换账户同时切换到他的家目录
  • passwd XXXXX //为用户设置密码 以及修改密码
  • whoami 命令 //查看当前用户名
  • exit 命令 // 退回原来账户
  • ssh python@172.16.7.139 //远程登陆某个账户,实现控制(大半夜公司服务器崩了,在家远程链接就可以工作)需要安装ssh服务器
  • userdel -r 用户名 //删除用户 //注意-r 表示同时删除家目录。一般不删家目录。
  • who命令 查看当前有谁登录了本账户
  • sudo -s //切换为超级管理员 { 区别 sudo直接用表示你获得了老大给你的权限 sudo -s 你就是超级管理员 }

多用户:多个终端同时登陆同一个用户。 windows是假的

ctrl+shift + t 打开一个新的终端标签 。同时进行不同工作,链接不同电脑。

用户组 (管理员常用 开发者大致了解 面试会问)

  • groupadd yyy //创建一个组
  • groupdel yyy //删除一个组
  • groupmod //修改用户 // 敲几次TAB键 显示所有组
  • chown 修改文件所有者 //chown YYY 1.txt
  • chgrp 修改文件所属组 //chgrp YYY 1.txt

文件详情各项数据代表的意义

image.png

  • r 读 w 写 x执行 //例如 rw- 表示可读可写不可执行

修改权限

字母法:

  • r 读 w 写 x执行 //例如 rw- 表示可读可写不可执行
  • u 文件拥有者 g 同组者 o 其他用户
  • chmod u=rwx 1.txt //修改文件拥者权限为可读可写可执行
  • chmod g = r 1.txt //修改同组者权限为可读不可写不可执行
  • chmod u=rwx,g=r ,o = r 1.txt 同时修改三者权限

数字法:

  • r 4 w 2 x 1
  • 5 代表可读可执行 4+1
  • 6 代表 可读可写 4+2
  • 7 可读可写可执行
  • chomd 137 1.txt //同时修改文件的三者的权限(拥有者、同组、其他人)

编辑器

常用编辑器:

  1. gedit 一般不用,偶尔可以顶一下
  2. sublime 双击上边空白处新建文件//可以分多屏显示 /很多平台都有,跨平台。
  3. 编辑器之神 vim/vi 孪生兄弟 vim‘比vi迟,多了一点功能

vi命令

模式切换:
image.png

  • vim 1.py //建立新文件或打开已有文件 vi 也行

命令模式下:

  • 控制光标移动:上 K 下J 左H 右L
  • shift +zz 保存并退出 //相当于末行模式下的wq
  • yy //复制光标所在这一行
  • 4yy //复制从光标行开始往下数4行
  • p //粘贴
  • dd //删除光标所在行(实质上是剪切 后期可以用来粘贴)
  • 2dd //删除从光标行开始向下两行
  • x 删除当前光标一个字母 每次删一个
  • X 删除当前光标前面的位置的一个字母 每次删除一个
  • dw 删除当前一个单词
  • M :光标定位到当前屏幕中间位置
  • H : 当前屏幕最上方
  • L : 当前屏幕最下方
  • { 光标跳到上一片代码的开头
  • } 光标跳到下一片代码的开头
  • ctrl + f 向下翻一屏
  • ctrl + b 向上翻一屏
  • ctrl + d 向下翻半屏
  • ctrl + u 向上翻半屏
  • 20G 快速定位到第20行代码
  • G 快速回到整个代码最后一行
  • gg 快速回到整个代码第一行
  • w 向后跳一个单词长度 到下一个单词开始处
  • b 回退一个单词长度,定位到前一个单词开始处
  • D 从当前光标开始到行末 剪切
  • u 撤销刚刚的操作
  • ctrl + r 反撤销
  • d 0 从当前光标开始剪切一直到行首
  • v V (按一下移动光标) 选中一片代码 // 前者以字符为单位选 后者以行为单位选
  • > > 整体向右移动
  • < < 整体向左移动
  • . (点)重复执行上一次的命令
  • r 替换一个字符
  • R 替换光标以及后边的字符
  • /内容 搜索内容
  • n 搜索内容的下一个
  • N 搜索内容的上一个

末行模式下:

  • %s/内容1/内容2/g 用内容2替换所有内容1
  • 11,20s/内容1/内容2/g 用内容2替换11行到20行的所有内容1
  • w 保存
  • q ! 不保存退出
  • wq 保存并退出
  • q 退出

命令很多,记忆唯一诀窍:天天用,天天用!

ubantu安装软件的方式 (修改镜像源 略)

命令:

sudo apt-get install XXX

//例如 安装sl : sudo apt-get install sl

sudo apt-get remove XXX //卸载(删除包)


贺崇德
4 声望1 粉丝