Linux入门
1.Linux目录介绍
(1) /:表示的是根的意思
(2) /bin:(binary)存放的是一些二进制文件,但是在Linux中二进制文件是可以
被执行的。这个目录中的命令文件是给普通用户使用(非超级管理员用户)。
(3*) /etc:Linux下所有的配置文件都会存放到etc目录。
(4) /home:是所有非root用户家目录的一个集合。
(5) /root:root用户的家目录。
(6) /sbin:sbin表示super bin(shell bin),里面同样也类似于bin目录,也存放了
一些二进制文件,只不过这些命令只能是让超级管理员去运行。
(7*) /usr:存放着一些用户自己安装的软件,其实类似于windows下的Program Files目录。
(8*) /var:(variable)存放着Linux下的一些日志文件,在实际开发的时候有一些公司也习惯把Apache或者nginx的站点目录也会放到这个目录中。
2.命令行(shell,壳)
了解:常见的shell。
Csh、tcsh、zsh、bash等
命令行符号介绍:
关于用户身份标记说明:
在Linux中 " # " 表示超级管理员身份, " $ " 符号表示普通用户
3.常用指令
通用指令格式: 指令 [选项] [路径]
(1)ls指令(列出路径下的所有文件夹和文件)
- ls // 列出当前路径下的所有文件和文件夹
- ls -l //以列表形式显示当前路径下的所有文件和文件夹
- ls -la // l :是以列表形式 a:显示包括隐藏文件和隐藏文件夹
- ls -la /home //显示home目录下的所有文件和文件夹包括隐藏文件文件夹
(2)clear 指令(假清屏)
快捷键清屏: Ctrl + L;在这里插入代码片
(3) su (switch user) 切换用户
普通用户切换到管理员
管理员切换到普通用户
有权限影响, 权限高切换到权限低的不需要密码;
权限低的切换到权限高的需要密码.
(4) cd (切换路径)
- cd ./coo
相对路径 : 不以 " / " 开头的路径
绝对路径 : 以 " / " 开头的路径
(5) pwd (显示当前所在的路径)
(6) 文件/文件夹 命令操作
(6.1)touch (创建文件)
在当前路径下创建一个名为newfile.txt的文件
在根路径下创建一个名为newfile.txt的文件
(6.2)mkdir (创建文件夹)
在当前路径下创建名为newFile的文件夹
(6.3)cp (复制) [-r] (递归)
复制文件 : 将当前路径下的newfile.txt文件复制到 ./newFile文件夹下
复制文件夹: 复制文件夹要加 -r (表示递归的意思)
(6.4)mv (移动/剪切/重命名)
移动文件夹 : 将当前路径下的newF文件夹移动到newFile文件夹下
重命名文件夹: 当前目录移动到当前目录视为重命名
移动+重命名 也可以同时进行
(6.5)rm (删除) -rf
-r 递归
-f force 强制
删除当前路径下的newNewFF目录, 目录删除必须加 -r 递归操作, 如果决定删除的可以使用-r-f 表示不需要经过本人同意强制删除目录.
删除当前路径下的newfile.txt文件
(7) 查看文件
(7.1)tail (尾巴) [-n] [文件名称]
tail 用于显示文件内容末尾的10行
n 表示显示文件内容末尾的几行数据, 默认为10
(7.1)head (头) [-n] [文件名称]
head 显示文件内容头10行数据
n 表示显示文件内容头的几行数据, 默认为10
(7.2)cat [文件名称] (正序)
cat 显示文件所有内容 [正序]
(7.3)tac [文件名称] (倒序)
tac 显示文件所有内容 [倒序]
(7.4)vim 文件名 (打开文件, 显示文件内容)
#vim file.txt
退出 :
:w //保存文件
:w vpser.net //保存至vpser.net文件
:q //退出编辑器,如果文件已修改请使用下面的命令
:q! //退出编辑器,且不保存
:wq //退出编辑器,且保存文件
(8) 关机重启指令
都需要超级管理员,即可实现关机重启 #
(8.1)reboot (重启)
(8.2) shutdown (关机)
now : shutdown -h now
+m : 表示 几分钟后关机 shutdown +m now (+5 5分钟后关机)
或 shutdown -h +m
取消关机 :shutdown -c
(8.3) halt (关机)(关闭内存)
(8.4) poweroff
(8.5) init 0 和 init 6
0表示关机 ; 6 表示重启
4.进阶指令
(1) du (查看文件/文件夹所占空间大小)
du [-sh] [文件/文件夹]
du指令能更精确查看 文件/文件夹的实际大小
[ -s ]: 汇总统计;
[ -h ]: 表示较高可读性的显示; 例如图中带单位
(2) df (显示文件/文件夹占用的磁盘空间剩余大小)
df [-m] [文件/文件夹]
[-m] : 表示较高可读性的显示 以M 兆为单位,默认不显示
df [-h] [文件/文件夹]
[-h]: 表示较高可读性的显示; 例如图中带单位 以G 为单位
(3) free (查看内存的使用情况)
free [-m]
以M 兆显示
第一行memory , 是内存的各项的情况
(4) find (查询文档的所放位置)
根据条件去查询文档的所在位置.
语法: find [范围路径] [选项] [选项的值]
常见的选项:
*[-name] : 根据名字进行查询
*[-type] : 根据根据文档的类型进行查询
[d:表示文件夹; f:表示普通文件; s:表示套接字; l:连接文件(快捷方式),
c字符设备文件,b:块状设备文件(如光驱,U盘)]
[-user] : 根据所有者进行查询
[-group] : 根据所属的用户组进行查询
[-size] : 根据大小进行查询
根据名称去查找 -name
为了更精确的找出这个文件 再加上-type f 表示只查找文件类型的
find -name file.txt -type f
(5) ps -ef (显示进程)
[-e] : 相当于-A ,all 显示所有进程
[-f] : full, 显示进程下所有的列
UID 启动进程的用户名
*PID 进程的ID号
*PPID 父级进程的ID号
C 表示CPU的使用情况
STIME: start time 启动时间
TTY 终端的设备号, " ? " 表示进程不是由终端发起的
TIME 持续运行的时间
CMD commond , 显示进程的命令的名称或者位置;
(6) service (操作服务: 启动/关闭/重启)
service httpd start/stop/restart
(7)* grep (搜索、过滤. 基本配合其他一起用)[-v]排除
主要用于对文件/内容进行筛选, 选出需要的内容
语法: # grep [选项] 关键词 文件路径/内容
[-v] 排除 取反的意思
如下图:grep -v “admin” f.txt //除了"admin" 其他的都显示
[-E] 可以一次查询多个
拓展指令
grep -E “admin|user” f.txt
egrep 作用一样
(8) wc (统计文件各项数值 -lwc)
[ -l ] line 行数
[ -w ] word 单词数
[ -c ] byte 字节数
wc -lwc f.txt (行,单词,字节显示是固定的)
(9)* 管道(重点) (前一个的输出后一个的输入)
管道不是指令, 只是一个符号" | " . 该符号主要起到辅助的作用, 能够将多个指令合在一行上进行的操作. 主要用在搜索,过滤等上面.
语法: #必须在终端有输出内容的指令 | 有输入的指令 [要求有读取文件内容的需求] | …
#ps -ef |grep -v “coo” //显示并排除关键词为"coo"的所有进程
5.vi
vim相当于vi的升级版, vi 适合 文本编辑, vim 适合编码(coding).
Vim中存在三种模式: 命令模式, 编辑模式, 末行模式.
(1)命令模式
(1.1) 光标快速移动
光标移到行首 shift + 6
光标移到行末 shift + 4
光标移动到 首行行首 gg
光标移动到末行的行首 G
光标移动到指定行 [ 数字 G ]
向上翻屏 ctrl + b 或 Paup
向下翻屏 ctrl + f 或 Padn
(1.2) 复制操作
-
复制所在行
yy
粘贴 小p键 在光标的下一行粘贴
大P键 在光标的上一行粘贴 -
以光标所在位置为准, 向下复制指定行数
数字 yy
(1.3) 剪切/删除
- 剪切/删除光标所在行(包含当前行), 向下删除/剪切指定的行
按键: 数字 dd (删除之后下一行上移)
2)剪切/删除光标所在的当前行,(光标所在位置) 之后的内容,但删除之后下一行不上移
按键: D (删除之后当前行变成空白行)
(1.4) 撤销/恢复
撤销: 输入" :u"(不属于命令模式), 或者 u
恢复: ctrl+r //恢复(取消)之前的撤销操作
(2)末行模式
1)保存操作 (write)
输入 : “:w” //保存文件
输入: “:w 路径” //另存为
2) 退出(quit)
输入: “q” //退出文件
默认情况下, 退出的时候需要对已经进行修改的文件进行保存(:w),然后退出.
3)保存并退出
输入:":wq" //保存并且退出
4)强制(!)
输入:":q!" //表示强制退出, 刚才做的修改操作不做保存
5)搜索/查找
输入: “/关键词” , 关键词在文章中会高亮显示
取消高亮 : “:nohl”
6)替换
输入: ":%s/bin/xxxx/g " xxxx替换掉文章内的所有bin搜索词 , g表示全局
7)显示行号(临时)
输入: “:set nu”
取消行号: “:set nonu”
设置永久显示行号
vim ~/vimrc 在里面添加":set nu"即可.
(3)编辑模式
- i : 在光标所在字符前开始插入
- a : 在光标所在字符后开始插入
6.*用户和用户组
6.1*用户操作
注意三个文件:
/etc/passwd 存储用户的关键信息
/etc/group 存储用户组的关键信息
/etc/shadow 存储用户的密码信息
(1)添加用户(useradd)
#useradd [userName]
用户名:密码:用户ID:用户组ID:注释:家目录:解释器shell
用户名:创建新用户名称,后期登录的时候需要输入;
密码:此密码位置一般情况都是“x”,表示密码的占位;
用户ID:用户的识别符;【-u】
用户组ID:该用户所属的主组ID;【-g】
注释:解释该用户是做什么用的;【-c】
家目录:用户登录进入系统之后默认的位置;【-d】
解释器shell:等待用户进入系统之后,用户输入指令之后,该解释器会收集用户输入的指令,传递给内核处理;【如果解释器是/bin/bash表示用户可以登录到系统,/sbin/nologin表示该用户不能登录到系统】【-s】
lisi的附加组是coo 1000是coo的号码(可以理解成身份证号)
(2)修改用户(usermod) -l 修改用户名
#usermod [选项] [内容]
案例一: 修改 lisi 主组 为 156 附加组 156
案例二:修改用户名lisi 变成 zhangsan -l 修改用户名
(3)设置密码(passwd)
#password [用户名] //没写用户名则默认更改当前用户密码
(4)用户删除操作(userdel) -r
#userdel -r [用户名]
6.2*用户组操作
(1)用户组添加操作(groupadd) -g 设置用户组ID
#groupadd -g [用户ID] [用户名]
(2)用户组修改操作(groupmod) -g 用户组ID -n更改用户名
#groupmod -g [用户组ID] -n [新用户名称] [旧用户名称]
(3)用户组删除操作(groupmod)
#groupdel [用户名称]
linux 命令补充(附加)#
(1) 查看系统版本
[root@C html]# uname -r
3.10.5-3.el6.x86_64
[root@C html]# uname -a
Linux C 3.10.5-3.el6.x86_64 #1 SMP Tue Aug 20 14:10:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@C html]# cat /etc/redhat-release
CentOS release 6.5 (Final)