Linux的特点
- 性能强劲,运行稳定,一般作为服务器
- 整个操作系统可以被压缩成很小的一个文件,容易植入一些硬件设备中
- 开源免费(linux源代码)
- 对于初学者容易建立编程思维,是学习编程语言最好的环境
- 没有盘符的概念,所有的文件都处于根目录下,目录也是一种特殊的文件
Linux的使用
用户管理
1.创建新用户:$ aduser + 用户名称
2.删除用户:$ userdel -r 用户名
3.切换用户:$ su - 用户名
4.修改用户:$ usermod -g 1008 zhangsan(将zhangsan的组id换成1008)
5.修改组消息:$ groupmod -n group0 boss(将组名boss换成group0)
Linux目录结构
| 路径 |
描述 |
| /home |
普通用户家目录(默认情况下,普通用户只能在用户家目录中进行更新操作) |
| /root |
超级管理员的家目录 |
| /etc |
系统配置文件目录 |
| /opt |
第三方文件解压安装目录 |
| /usr |
文件的默认目录 |
| /var |
包含系统一般运行时要改变的数据 |
| /sys |
系统目录 |
| /dev |
包含了所有Linux系统中使用的外部设备 |
文件系统
1.新建目录
$ mkdir linux es5 es6:直接在当前目录创建es5、es6文件
$ mkdir -p day01/a/b/c:在多个嵌套的文件夹中创建文件
2.新建文件/修改最近访问时间
$ touch 文件名:如果指定的文件名不存在,创建该文件。如果存在,修改最近访问时间为当前时间
3.拷贝文件或者目录
$ cp a.txt a.txt.bak:拷贝a.txt并将拷贝文件名设为a.txt.bak
$ cp -r dir1 dir2:递归处理,将指定目录下的所有文件与子目录一并处理。
4.连接
| 命令行 |
描述 |
$ ln a.txt |
创建硬连接(防止误删除,多个指针指向同一个inode) |
$ ln -s a.txt a.txt.s |
创建软连接(快捷方式) |
5.移动
| 命令行 |
描述 |
$ mv a.* dir1 |
将前缀名为a的所有文件移动到dir1文件夹内 |
$ mv a b |
将a文件的移动到b文件夹中,如果b不是文件目录,则将a改名为b,并覆盖己存在的同名文件 |
6.删除
| 命令行 |
描述 |
$ rm a.txt |
删除a.txt文件 |
$ rm -r dir2 |
删除dir2文件目录 |
$ rmdir |
只能删除空目录 |
7.重定向
| 命令行 |
描述 |
$ date > a.txt |
将当前时间打印到a.txt中,如果a.txt中有内容则会覆盖掉 |
$ date >> a.txt |
将当前时间打印到a.txt中,如果a.txt中有内容则会追加在后面 |
$ more /etc/passwd > b.txt |
将etc目录下的passwd中的内容打印到b.txt中 |
$ ls -l /etc > c.txt |
将/etc下的内容以长内容形式打印到c.txt中 |
8.压缩与解压缩
- 压缩
| 压缩文件后缀名 |
压缩形式 |
含义 |
| .gz |
gzip |
纯压缩 |
| .bz2 |
bzip2 |
纯压缩 |
| .zip |
zip |
打包压缩 |
打包命令行
| 压缩形式 |
命令行 |
| gzip |
$ gzip a.txt |
| bzip2 |
$ bzip2 a.txt |
| zip |
$ zip all.zip *.txt |
- 解压缩
| 压缩形式 |
命令行 |
| gzip |
$ gunzip a.txt.gz |
| bzip2 |
bunzip2 a.txt.bz2 |
| zip |
$unzip all.zip |
| 文件夹中的压缩文件解压 |
$ unzip all.zip -d dir2 |
- 归档:tar
| 参数 |
含义 |
| -c |
创建归档文件 |
| -x |
拆档 |
| -v |
打印细节 |
| -f |
指定归档/拆档文件 |
| -j |
bzip2格式 |
| -z |
gzip格式 |
| 命令行 |
描述 |
$ tar cvf all.tar *.txt |
将后缀名为.txt的文件归档为all.tar,并打印细节 |
$ tar cvzf all.tar.gz *.txt |
将后缀名为.txt的文件归档为all.tar,并且压缩格式为gzip,打印细节 |
$ tar cvjf all.tar.bz2 *.txt |
将后缀名为.txt的文件归档为all.tar,并且压缩格式为bzip2,打印细节 |
- 拆档:
$ tar xvf all.tar.gz
其它命令
| 命令行 |
描述 |
| $ clear |
清理终端屏幕 |
| $ ls /home |
列出家目录的所有的目录以及文件 |
| $ man |
查看指定命令的手册 |
| $ more |
预览 |
| $ less |
预览 |
| $ cat |
连接后显示 |
| $ tac |
倒叙连接后显示 |
| $ nl |
添加行号后显示 |
| $ tail |
预览末尾10行 |
| $ head |
预览头10行 |
| $ cd |
切换目录 |
| $ pwd |
输出当前目录地址 |
权限
1.通过表达式来修改
| 命令行 |
描述 |
$ chmod g-r a.txt |
去掉同组人阅读a.txt文件的权限 |
$ chmod o+w a.txt |
增加其他人更改a.txt内容的权限 |
2.通过二进制方式修改
$ chmod 644 a.txt:修改a.txt的权限,拥有者具有读写权限,同组人和其他人具有读权限
| 参数 |
二进制写法 |
二进制总数 |
| –x |
001 |
1 |
| -w- |
010 |
2 |
| -wx |
011 |
3 |
| r– |
100 |
4 |
| r-x |
101 |
5 |
| rw- |
110 |
6 |
| rwx |
111 |
7 |
sudo(管理员权限)
怎么加入sudoer
$ vim /etc/sudoers
将要添加的用户添加到root后面
其他重要命令
1.$ find ./ -name ‘.txt’:查找当前目录中的所有.txt文本文档(其他格式的文档将.txt更换成相对应的后缀名)
2.$ grep 1000 /etc/passwd:查找passwd文件中的包含1000行的内容
3.$ sleep 1000s &:将当前进程放到后台执行
4.ps -ef | grep Java:在所有进程中找到Java相关的进程
5.$ kill -9 pid、reboot:重启云服务器