关于Linux的特点、基本操作及用法

Linux的特点

  1. 性能强劲,运行稳定,一般作为服务器
  2. 整个操作系统可以被压缩成很小的一个文件,容易植入一些硬件设备中
  3. 开源免费(linux源代码)
  4. 对于初学者容易建立编程思维,是学习编程语言最好的环境
  5. 没有盘符的概念,所有的文件都处于根目录下,目录也是一种特殊的文件

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.压缩与解压缩

  1. 压缩
压缩文件后缀名 压缩形式 含义
.gz gzip 纯压缩
.bz2 bzip2 纯压缩
.zip zip 打包压缩

打包命令行

压缩形式 命令行
gzip $ gzip a.txt
bzip2 $ bzip2 a.txt
zip $ zip all.zip *.txt
  1. 解压缩
压缩形式 命令行
gzip $ gunzip a.txt.gz
bzip2 bunzip2 a.txt.bz2
zip $unzip all.zip
文件夹中的压缩文件解压 $ unzip all.zip -d dir2
  1. 归档: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,打印细节
  1. 拆档:$ 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 pidreboot:重启云服务器