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
文件详情各项数据代表的意义
- 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 //同时修改文件的三者的权限(拥有者、同组、其他人)
编辑器
常用编辑器:
- gedit 一般不用,偶尔可以顶一下
- sublime 双击上边空白处新建文件//可以分多屏显示 /很多平台都有,跨平台。
- 编辑器之神 vim/vi 孪生兄弟 vim‘比vi迟,多了一点功能
vi命令
模式切换:
- 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 //卸载(删除包)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。