Kernel内核
Manages devices, memory, and processes管理设备、内存和进程
Controls the functions between the system programs/utilities and the system hardware控制系统程序/工具和系统硬件之间的功能。
Manages swap space, daemons, file systems, and other functions管理交换空间、精灵进程(后台进程)、文件系统和其他功能。
Shell脚本语言
A shell is an interface between the user and the kernel,which acts as an interpreter or translator。shell是用户和内核之间的接口,充当解释程序或翻译程序。
Unix中常见shell及其命令(shell的缩写)
Bourne shell(sh)基于B语言
Korn shell(ksh)sh增强版
C shell(csh)基于C语言,增加历史记录功能
Bourne-again shell(bash)现在最常用
命令 history 查看历史记录 !数字 执行那条历史记录
File System文件系统
A hierarchy of directories, subdirectories, and filesgrouped together for a specific purpose. 为特定目的分组在一起的目录、子目录和文件的层次结构。
Directory – A location for other files and directories. The directory structure enables you to create files and directories accessed through a hierarchy of directories. 目录-其他文件和目录的位置。目录结构使您能够创建通过目录层次结构访问的文件和目录。
Subdirectory – Any directory below another directory. For example, some of the subdirectories under the /directory are /usr, /etc, and /kernel.子目录-任何目录下的另一个目录。例如,目录下的一些子目录是/UR、/ETC和/内核。
Pathnames路径
A pathname uniquely identifies a particular file or directory by specifying its location路径名通过指定其位置来唯一标识特定文件或目录。
A slash (/) between each directory name in the path to indicate different directories路径中每个目录名之间的斜杠(/)以指示不同目录。
A slash in the first position represents the / directory第一个位置的斜杠表示/目录。
Absolute Pathname绝对路径
Specifies a file or directory in relation to the / directory指定与目录相关的文件或目录
Begin with a slash从斜杠开始
Relative Pathname相对路径
Specifies a file in relation to the current working directory指定与当前工作目录相关的文件
Do not begin with a slash不从斜杠开始
Linux语法
Command [option(s)] [argument[s]] 命令 [选项] 参数
A space must be used as a delimiter between each part of the command line必须在命令行的每个部分之间使用分隔符作为分隔符。
Up to 256 characters can be entered on a single command line可以在单个命令行上输入多达256个字符。
Different from DOS与DOS不同
Case sensitive大小写敏感
Different command prompt不同命令提示
Linux常用命令
clear Clear the terminal screen清除终端屏幕
pwd Display the absolute pathname of the current directory(print working directory)显示当前目录的绝对路径名(打印工作目录)
cd Change Directories更改目录
Accept both absolute and relative pathnames接受绝对路径和相对路径名
. Current directory当前目录。
..Parent directory父目录
~表示的时家目录
ls 列出文件及目录(文件或目录查看)
ls -a 文件名
ls -a 查看单前路径下的所有文件,包含隐藏文件
ls -a /opt 查看根路径下opt的所有文件,包含隐藏文件
ls -R 文件名 递归显示某个目录下的子文件子目录以及
子目录的子目录,子目录的字文件等等
ls -t 文件名 表示对某个目录下的子目录以及子文件基于
时间排序
ls -l 列出文件的详细情况
e.g.:
ls -alR
文件类型
d 表示目录
- 表示文件
l 表示快捷方式文件
file 文件名 表示文件属于什么详细类型
ls -F 显示文件的类型
/表示目录
*表示可执行文件
什么都没有,普通的文件
文件的权限
r 表示读
w表示写
x 表示可执行
-表示没有权限
u 拥有者
g 同组人
o 其他人
a 所有人
注意:只能在新的linux或unix系统中用,较早的老版本
不支持
修改权限
语法
chmod mode filename
mode (who cp permissions)
cp符号
+表示增加权限
-表示去掉权限
=表示覆盖原来的权限
chmod u+x test.java
表示的是给test.java拥有者增加一个执行权限
chmod u-rw,go=rwx test.java
chmod a=rwx,u-rw test.java
基于老的linux或unix赋权只能采用数字
- - -
权限 二进制 数字
r - - 100 4
- w - 010 2
- - x 001 1
chmod 555 test.java 表示test.java文件所有人具有读执行权限,
没有写的权限
chmod 765 test.java 拥有者读写执行,同组人读写
其他人读和执行
touch 文件名 Create new, empty files or update access and modification times
1.创建一个新的文件(前提:文件名不存在)
2.更改文件的修改时间(前提:文件存在的情况)
mkdir 文件名 创建目录
mkdir test 在单前路径下创建一个test目录
mkdir -p 文件目录 级联创建目录
mkdir hello/bye/test 没有中间选项,表示只有最后一个
是不存在的,其他的必须存在
mkdir -p hello/bye/test
-p 表示后面的目录没有的情况,一级一级创建
e.g.:如果hello没有,先创建hello,在hello里面创建
bye,在bye里面创建test
cp复制
cp [-i] 源文件 目标目录或文件
文件到文件
cp a.txt c.txt
1.如果c.txt不存在,文件粘贴复制
2.如果c.txt文件存在,覆盖内容
注意:-i 表示如果目标文件存在提示
需不需要覆盖,默认覆盖,
不存在直接粘贴复制
文件 到目录
cp a.txt [b.txt c.txt] 目录
目录到目录
cp -r test test1
注意-r不能省略
源文件和目标文件有同名的文件内容覆盖
没有同名的合并
cp -r test … test19 test20
mv
文件到文件
mv [-i] a.txt d.txt
目标文件d.txt不存在 重命名
目标文件d.txt存在,内容覆盖
文件到目录
mv d.txt test
目录中不存在文件的时候,剪切复制效果
目录中存在文件名相同的文件,覆盖内容
rm [-i] c.txt删除一个文件
rm [-i] c.txt d.txt同时删除多个文件
rm test/* 删除test目录下的所有文件
rm -r test删除test的目录(目录中有没有文件不影响)
rmdir test1删除test1目录,要求test1必须时空的目录
man 帮助命令,查看命令手册用的
man 命令
man ls
显示内容比较多
空格 每次翻一个屏幕的内容
回车(enter) 每次当下翻一行
b 回退一屏幕的内容
f 向前翻一屏幕的内容
q 退出帮助手册
/String 搜索某个内容,String表示搜索的单词
一般和n连用,
n 查找下一个内容
ifconfig linux查看网络配置信息
ipconfig window查看网络配置信息
ping ip 查看网络是否通畅
ping 172.16.1.250
元子符
目的:对命令功能的扩张
元子符:键盘能敲出具有特殊含义的字符
.和_不是元子符
* 表示0个或者多个字符
ls d*
?表示单个字符
ls d?
; 命令按照顺序执行
cd; ls 表示先执行cd在执行ls
date 时间函数,获取linux系统时间
cal查看单前的日历
cal 2018 查看某一年的日历
cal 4 2018 查看2018年4月份日历
重定向
> 更改命令结果输出的目的地
如果目的地有内容是覆盖
>>更改命令结果输出的目的地
如果目的地有内容是追加内容
< 更改的是标准输入的位置
默认标准输入是键盘
|管道
把管道前面执行命令的结果交给管道后面
的命令执行
vi编辑器
vi fileName
名字不存在,创建这个名字
存在,编辑这个文件
vi 后面不跟名字,在内存中给你创建
虚拟文件,保存的时候才会变成磁盘上存储的文件
不建议用,有些Linux没有保存不提示直接退出,
命令模式,刚进入vi所出的模式,该模式可以用简单的命令
一般情况不会超过3个字母
输入模式,可以在文件里面书写内容
底行模式,可以书写比较长的命令
命令模式下
方向的控制
1.方向按键
2.h向左
j向下
k向上
l向右
命令模式进入输入模式
注意:输入模式的标记左下角有insert标记
i 插入内容在光标停留位置的前面
a 插入内容在光标停留位置的后面
o 在单前行下一行(新开辟的)插入内容
输入模式 进入命令模式
escape esc
命令模式和底行模式的转化
:/ ?
进入底行模式的标记 ,光标在编辑器的
最下面
底行模式到命令模式转化
回车enter|return按键
命令模式下的命令
x 表示删除一个字符
dw 删除一个单词,系统认为光标到
后面的空格的位置是一个单词,所以删除
光标需要停留在单词的开始位置
3dw连续删除3个单词
dd 删除一行内容
5dd 删除5行内容
r 替换一个字符
cw 替换一个单词,光标位置替换单词
的前面,删除一个单词进入输入模式
cc 替换一行 ,删除一行进入输入模式
C 从光标位置到行末删除进入输入模式
yw 复制一个单词
p 在光标停留的位置粘贴内容
yy 复制一行内容,p的时候是在下一行粘贴内容
~ 大小写转化
J 把当前行和下一行连成一行
u 回退命令
21G 光标跳到21行
底行模式命令
:set number 设置行号
:set nu
:4,6d 删除4到6行
:6,7co8 将第6行7行内容拷贝到第8行后面
:3m5 将第3行移动到第五行
:3,4m5 将第3行和第4行移动到第五行
:w 保存写的内容
:q 不保存直接退出vi编辑器
:wq 保存退出
:w 文件 保存到某个文件
:q! 不保存强制退出
:wq! 保存强制退出
:21 直接跳到某一行
/test 光标位置向下找,和n连用
?test光标位置向上找,和n连用
:r 文件路径,引入新文件内容到本文件
:r /etc/passwd
:1,$s/old/new/g 1表示第一行
$表示行末 g表示全文替换
:1,$s/est/byebye/g
等价
:%s/est/byebye/g
sudo vi filename 当文件不能编辑时使用超级用户编辑