Linux学习
算机的组成
- 硬件
- 处理器(cpu),实质上就是一个集成电路,主要指标是频率(3.3GHz)
- 运行内存RAM(临时储存数据),容量(字节为单位)
- 主板(总线设备),主要用于连接其他硬件
- 输入输出设备(显示屏、键盘、鼠标、触摸屏)
- 外部存储设备(硬盘、U盘、TF卡)
- 软件
- 操作系统(Windows、Linux、Unix、uCOSII(OStwo))
- 应用软件(用户级别的软件)
Linux基本结构
- 应用程序
- 标准库
- Linux操作系统内核
- 硬件
上层依赖下层,下层为上层奠定基础
终端工具
- 打开方法
- 点击图标
- 搜索命令:终端
- 退出终端
- exit+回车
- ctrl+D
Linux命令基本格式
命令名 [选项] [参数] 注:[ ]的内容代表可选
命令实例:
- ls #显示当前文件夹下的所有文件和文件夹
格式:ls [选项] [文件夹名或文件名]
常用选项: -l :以列表的形式显示文件夹或文件的详细信息
-a:显示全部文件或者文件夹(把隐藏的文件或文件夹显示出来)
文件或文件夹前面由.符号是表示的是隐藏的文件或文件夹
ls -l -a 等价ls -a -l 等价 ls -la 等价 ls -al
- cd #改变当前的工作路径(进入某一个目录)
格式:cd [/路径],如果要进入当前文件夹下面的文件时,路径前面可以不用添加’/‘符号
cd .. #回到上级文件夹
cd ~ #回到主目录和cd 一样
cd / #切换到根文件
cd #切换到用户主机目录
cd - #切换到进入这个文件夹之前的文件夹
- pwd # 显示当前的工作路径位置(当前工作文件夹)
路径:是用来表示一个文件或文件夹的字符串 root(根)/
绝对路径:以 '/' 字符开头的路径为绝对路径(在任何时候,一个文件的绝对路径是唯一的)
相对路径:1)文件/文件夹名称
2).当前文件夹
3)..上一级文件夹
4)~用户主目录(家目录)ls 相当于ls . 还相当于ls ~
- mkdir #创建一个或多个文件夹
格式:mkdir 文件夹1 文件夹2 ....
示例:mkdir a b c d
mkdir -p a/bb/ccc/ddd
常用选项:-p 如果是中间的文件夹不存在,则逐级创建所有的文件夹
- rmdir #删除一个或多个文件夹(文件夹内必须为空)
格式:rmdir [选项] 文件夹名
常用选项:-p 如果是中间文件夹也不为空,则逐级删除中间文件夹
示例: rmdir a b c d
rmdir -p a/bb/ccc/ddd
- tree #显示目录树
- subl #使用sublime Text打开指定文件
- clear #清屏,快捷键:ctrl+L
- touch #1、创建新的文件 2、如果文件已经存在,则更新文件的修改时间
touch love_{1..10}_txt:创建love_1_txt,.......love_10_txt,一共10个文件
touch love_{1,10}_txt:创建love_1_txt 和 love_10_txt,一共两个个文件
- rm #删除文件或者文件夹(选项为-r时才可以删除文件夹)
格式:rm [选项] 文件/文件夹
示例:rm a.txt b.txt
rm c.txt
rm *.txt
rm -r a
常用选项:-r 递归删除文件夹内的文件和文件夹
-i 删除前,给出提示(y代表yes,n代表no)
-f 强制删除,不给任何提示
- help #查看此命令的帮助信息
格式: 命令 --help
示例:ls --help
- man #命令帮助,查看命令所对应的帮互助文档(手册)
格式:man Linux命令名
示例:man ls
- cat #将文件内容作为标准输出打印到终端
格式:cat 文件1 文件2
- more #分页显示文本文件的内容
格式:more 文件名
基本操作:q:退出,空格:下翻页,Enter:上翻页
- cp #复制文件或文件夹(copy)
格式:cp [选项] 源文件或文件夹 目标文件或文件夹
示例:cp ../day01/day01.txt ~/
cp ../day01/day01.txt ~/day01.txt.bak # 复制过程中修改名字
常用选项:-a #复制文件夹里面的全部内容
- mv #文件搬移(相当于剪切)和更名
格式:mv 源文件名或文件夹 目标文件或文件夹
示例:mv passwd mypw #修改名字(速度比cp快,因为不需要拷贝文件内容)
mv mypw ~/ #移动文件到主目录下
- find #根据文件名等信息查找指定的文件
格式: find 路径 -name “文件名”
示例:find ~ -name "*.txt" #查找用户主目录下有哪些文件以.txt结尾
- grep #查找文件中相应的内容,及文本信息
格式: grep “需要查找的内容” [选项] 文件名或路径
常用选项:-n #显示内容在原文本中的行号
-r/-R 递归搜索文件夹下的文件
示例:grep “文件” *.txt #查找txt文件中的‘文件’字符
grep ‘文件’ -n *.txt #查找txt文件中的‘文件’字符,并显示该字符在原文本中的行号
grep ‘root’ -nr /etc #查找etc文件夹下所有文件中含有的’root‘字符
- gzip #用zip压缩算法对文件(不能对文件夹压缩)进行压缩,生成压缩后的文件
格式:gzip 文件名。 .gz 为用gzip压缩过的文件
- gunzip #对gzip压缩过文件进行解压
格式:gunzip 文件名
示例:cp /ect/passwd ~/
gzip ~/passwd
ls - l ~/passwd.gz
gunzip ~/passwd.gz
ls -l ~/passwd.gz
- tar #对文件或文件夹进行打包和解包的操作
格式:tar [选项] 文件名 [文件名或路径]
常用选项:-c #创建包
-x #解包
-v #显示操作的文件细节
-z #用gzip /gunzip对包进行压缩和解压缩
-f 文件名 #正在操作的文件名
-C 路径 #改变解压缩路径(只对解包有效)
示例:tar -czvf day01.tar.gz linux/day01#将linux/day01打包并压缩为day01.tar.gz
tar -xzvf aid1805/day01.tar.gz #将aid1805/day01.tar.gz解包
练习:1.在用户主目录下创建文件夹mydir1,mydir2
2.在mydir1下创建myfile1.txt,myfile2.txt,myfile3.txt
3.将mydir1打包压缩为:mydir1.tar.gz放在用户主目录下
4.将mydir1.tar.gz 移动到mydir2下
5.进入mydir2下,将mydir1.tar.gz解压到此文件夹下
答案:1.cd ~
mkdir mydir1 mydir2
2.cd mydir1
touch myfile1.txt myfile2.txt myfile3.txt
3.cd ..
tar -czvf mydir1.tar.gz mydir1
4.mv mydir1.tar.gz mydir2
5. cd mydir2
tar -xzvf mydir1.tar.gz
- sudo #用超级用户权限来执行这些命令
格式:sudo 命令 【选项】 【参数】
常用选项: -i 切换到root用户
示例:sudo mkdir /mytest
sudo -i
rmdir /mytest
- exit # 退出用户登录
- poweroff #关机
- reboot #重启
- chmod # 修改文件权限
- 格式:chmod 权限 文件名/文件夹名
- 权限:
u 用户(属主)
g 同组用户
o 其它用户
a 所有用户
+ 添加权限
- 删除权限
3.示例:chmod u+r a.txt
chmod o-rwx a.txt
chmod g+rw a.txt
文件权限管理命令
- 查看文件权限:
- ls -l
- 文件类型:
- d #文件夹
- - #普通文件
- l #链接文件
- c/b #字符设备文件/块设备文件
- 文件权限
- r #读权限
- w #写权限
- x #执行文件
- 权限分组:
- 用户权限(user)
- 组权限(group)
- 其它权限(other)
- 最高权限:rwxrwxrwx
- 最低权限:---------
- 属主:(owner) -rw-(用户权限)rw-(组权限)r--(其它权限) 1 (文件大小)tarena(属主) tarena(属组) 0 7月 7 16:45 a.txt
- 属组:group
输出重定向
- 输出分为两种:
- 标准输出
- 标准错误输出
- 标准输出重定向
- > 将一个命令的标准输出重定向到指定文件(删除文件中原有的数据,添加新的数据),find /etc -name "passwd" > stdout.txt
- >> 将一个命令的标准输出重定向“追加”到指定文件(在原有的数据上面追加新的数据)find /etc -name "passwd" >> stdout.txt
- 标准错误输出重定向
- 2> 将一个命令的标准“错误”输出重定向到指定文件,find /etc -name "passwd" 2> errout.txt
- 2>> 将一个命令的标准"错误"输出重定向“追加”到指定文件find /etc -name "passwd" 2>> errout.txt
- 重定向所有输出
- &> 将一个命令的标准所有信息输出重定向到指定文件,find /etc -name "passwd" &> allout.txt
- &>> 将一个命令的标准所有信息输出重定向“追加”到指定文件,find /etc -name "passwd" &>> allout.txt
通配符
* 匹配0个,1个或多个任意的字符
?匹配1个任意字符
示例:touch a ab ac abc aabb bc cd
ls a? #匹配以a开头只有两个字母的文件
ls a* #匹配以a开头的所有文件
Linux常用命令
1、关机重启命令
1、shutdown -h now 立刻进行关机
2、shutdown -r now 现在重新启动计算机
3、reboot 现在重新启动计算机
2、授权和注销
1、sudo -i 给用户进行授权,root@xdl-gj:~#
2、logout : 注销,取消授权,xdl@xdl-gj:~$
说明:超级用户是以~#开始的,普通用户是以~$开始的
3、vi编辑器的使用
1、vi hello.py:创建hello.py文件
2、输入i:进入编辑状态
3、输入Esc:退出编辑状态,进入命令状态
4、
输入:wq:表示退出并保存,保存在当前文件夹中
输入:q!:表示退出不保存
常用命令:
1、dd:删除光标所在的行
2、nx:n为数字,向后删除n个字符
Linux目录介绍
root:存放root用户的相关文件
home:存放普通用户的相关文件
bin:存放常用命令
sbin:存放要具有一定权限才可以使用的命令
mnt:默认挂载光驱和软驱的目录
boot:存放引导相关的文件
etc:存放配置相关文件
var:存放经常变化的文件
usr:存放软件默认安装的文件
用户管理:
1、添加用户
useradd xiaoming
2、添加,修改密码
passwd xiaoming
3、删除用户
userdel xiaoming
userdel -r xiaoming:删除用户以及主目录
命令:init[0123456]
运行级别
0:关机
1:单用户
2:多用户状态没有网络服务
3:多用户状态有网络服务
4、系统未使用保留给用户
5、图形界面
6、系统重启
说明:常用运行级别是3和5,要修改默认的运行级别可修改文件/etc/inittab中的id:5:initdefault: 这一行中的数字
修改错误配置的方法
在进入grub引导界面时,请输入 e
在选中第二行输入 e
在最后输入 1(单用户级别,因为该级别不会执行inittab文件)
在linux和Unix系统中 | 就是管道命令
把 | 前面的命令的执行结果 交给 | 后面的命令
示例:ls -l /etc/ |more