linux学习01
1、下载安装VMware和虚拟机镜像
1、VMware是收费的,想用于学习的话注册码也是很容易找到的。下载教程可参考 VMware下载和安装
2、不同的镜像可创建不同的虚拟机,我用的是ubuntu,这里就推荐下载centos吧!镜像下载
2、初识Linux
1、 Linux系统内一切皆文件,绝大部分命令也是对文件的内容或权限进行修改和查询的,让我们先来看看Linux的目录结构吧!
- /bin :存放常用的命令(二进制可执行程序)
- /boot : 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。(不能动)
- /dev :device,存放我们的设备文件
- /etc :这个目录用来存放所有的系统管理所需要的配置文件和子目录。(可以看一下)
- /home :家目录,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
- /lib: 存放库文件(不能动)
- /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
- /root: 存放管理员的家目录
- /mnt :临时挂载点
- /tmp:这个目录是用来存放一些临时文件的,所有用户可访问,用完即丢的文件,可以放在这个目录下,安装包!
- /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录
下。包括各种日志文件。 - /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被
删掉或清除。 - /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。(存放
突然关机的一些文件)
3、用着用着就记住了的命令
#ls : 列出目录
#clear:清屏
#cd: 切换路径 ..表示上一级
#pwd: 显示当前路径
#ps: 查看当前系统中正在执行的各种进程的信息
#mkdir: 创建文件夹
#touch: 创建文件
#rm: 删除文件 rm -rf 强制递归删除
#rmdir: 删除目录
#cp: 原来的地方 新的地方 。复制
#mv: 移动文件或目录、重命名
#查看命令有:
#cat :由第一行开始显示文件内容,用来读文章,或者读取配置文件啊,都使用cat
#tac :从最后一行开始显示,可以看出 tac 是 cat 的倒着写
#nl: 显示的时候,顺道输出行号! 看代码的时候,希望显示行号! 常用
#more 一页一页的显示文件内容,带余下内容的(空格代表翻页,enter 代表向下看一行, :f 行
号)
#less: less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
#head: 只看头几行 通过 -n 参数来控制显示几行
#tail: 只看尾巴几行 -n 参数 要查看几行
#查找命令
#where:该命令主要是用来查找系统PATH目录下的可执行文件。
其实就是查找那些已经安装好的可以直接执行的命令。
where cat
#whereis: 与where相比查找的面比which要广
whereis gcc
gcc: /usr /bin/gcc /usr/lib/gcc /usr /share/nan/ nan1/gcc.1.gz
#locate: 使用了数据库索引来查询,可使用正则表达式来进行模糊查询
locate *.txt
#find :效率最低,功能最强。[建议专门去了解一下]
find /home file
查找home目录下的file
#man: man 命令; 查看某个命令的帮助文档
对比选项 | which | whereis | locate | find |
---|---|---|---|---|
搜索目标 | 可执行文件 | 二进制文件、源文件、帮助文件 | 所有类型 | 所有类型 |
查找路径 | PATH所含目录 | 索引数据库所含目录 | 索引数据库所含目录 | 当前目录/指定目录 |
搜索原理 | 完全匹配 | 去除.之后的完全匹配 | 部分匹配即可 | 遍历寻找 |
查找速度 | 非常快 | 比较快 | 比较快 | 比较慢 |
4、群组及权限
#新建群组
#groupadd [选项] 用户组名
groupadd -g 1001 usergroup1
#创建一个名为usergroup1的用户组,GID为1001
#删除群组
#groupdel 群组名
#修改群组 参数: -g: gid。 -n: groupname
#groupmod [选项] 新的信息
#添加用户useradd
#useradd -选项 用户名
useradd -m username
-m: 自动创建这个用户的主目录 /home/username
-G : 给用户分配组!
#删除用户userdel
userdel -r username
权限
就以 drwxr -xr -x 为例:
- 第一个字母为文件的类型。文件类型包括:文件夹(d)、普通文件(-)、连接文件(l)、字符型文件(c)、块设备(b)。
- 第二部分是用户的权限,也就是文件的所有者的权限。owner :wxr=4+2+1=7
- 第三部分是用户所属组的权限,也就是与文件所有者同组的其他用户的权限。 group:xr= 4+1=5
- 第四部分是其他用户的权限。other: x=1
- r:4 代表可读
- w: 2 代表可写
- x: 1 代表可执行
7就代表该文件可读可写可执行,对文件的权限修改,建议使用数字。例如:
chmode 777 file
表示将file读、写、执行权对所有用户都开放
5、基础命令详解
# ls -a
-a: all显示所有文件(包括隐藏文件)
-l: 列出所有的文件,包含文件的属性和权限,没有隐藏文件。ll或ls -l
#ps -aux 查看所有的进程
-a 显示当前终端运行的所有的进程信息(当前的进程一个)
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
ps -aux|grep MysqL
# | 在Linux这个叫做管道符 A|B
# grep 查找文件中符合条件的字符串!
# rm -rf
-f: force 强制删除
-r: reversion 递归删除目录
#chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,
如果加上-R的参数,那么该目录下的所有文件的属组都会更改
#chown 改变文件的拥有者
chown jm file.txt
压缩与解压
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解包.tar文件 |
# tar、 zip/unzip 、gzip/gunzip
#压缩
gzip 文件名
#解压
gunzip 文件名
# tar
如将/home/目录下的a.txt和b.txt 压缩成一个文件 c.tar.gz
cd /home
tar -zcvf c.tar.gz a.txt b.txt
如将/home 目录整个压缩为 myhome.tar.gz文件
tar -zcvf myhome.tar.gz /home/
如将 /home/目录下 c.tar.gz文件 解压到 /home/hi 中:
cd /home
tar -zxvf c.tar.gz -C /home/hi
#zip/unzip
zip -r 压缩后的文件名 需要压缩的东西
unzip -d 要解压到的目录 要解压的文件
6、补充命令
date [%Y%m%d]
#显示日期
cal [参数] [月份] [年份]
#显示日历
shutdown 10
10分钟后关机