Linux整理
Linux简介
Linux介绍
Linux是类Unix计算机操作系统的总称
Linux的操作系统的内核也是叫做“Linux”
Linux是由芬兰大学生Linus Torvalds于1991年编写的
Linux这个词本身只表示Linux内核,但实际上人们已经习惯用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统
Linux发行版本组成
Linux内核
应用程序
一些GNU程序库和工作
emacs集成开发环境和文本编辑器
GCC语音编辑器
GNOME
命令行shell
图形桌面环境
KDE(qt编写)
GNOME(GTK编写)
unity
一些办公套件
openoffice
编译器
gcc
g++
文本编辑器到科学工具的应用软件
vi
gedit
Linux版本
商业公司维护的发行版本redhat系列
RHEL(Redhat Enterprise Linux, 也就是所谓的Redhat Advance Server收费版本)
CentOS(RHEL的社区克隆版本,免费)
FedoraCore(由原来的Redha桌面版本发展而来免费版本)
社区组织维护的发行版本Debian系列
debian
ubuntu
Linux目录结构
根目录结构
dev 设备文件所在目录(device的缩写)
etc 包含了当前操作系统用户所有配置的相关信息
home 当前操作系统所安装的用户的主录
lib 操作系统使用的库文件以及相关的配置都放在此目录下
mnt 手动挂载的目录
media 系统自动挂载录
usr lunix软件资源包管理目录,存放的是当前用户下的一些东西
bin Linux操作系统下可执行的系统级的二进制命令(binary的缩写)
sbin 超级用户需要用到的一些:进制命令存储在该目录(super binary的缩写)
boot 系统开机时需要加载的一些文件和配置
lost+found 存放系统错误产生的文件碎片,方便用户查找和恢复
proc 内核提供的一个接口,主要用来存储系统统计信息
root root用户的宿主目录
run 存放系统运行时需要的一些文件
目录路径介绍
绝对路径
从根目录开始描述的路径也就是从/开始
相对路径
.表示当前目录
..表示当前目录的上一级目录
两个临近目录直接进行切换命令:cd -
robertohuang@robertohuang:~ $
1.第一个robertohuang:当前登录的用户
2. @:英文at,在的意思
3.第二个robertohuang:主机名
4.~:当前工作目录的位置,宿主目录
5.$:表示当前登录的用户为普通用户如果为#则是超级用户
Linux命令
文件和目录
tree
以树状形式显示当前文件和目录
需要安装该软件:sudo yum -y install tree(centos下)
is 查看指定目录下所有文件和目录信息
-a(all) -- 列出当前目录下所有文件内容
- R(recursive) --同时列出所有子目录层
-l除了文件名之外,还将文件的权限,所有者,文件大小等信息详细列出来
cd 进入指定目录(cd + path)
相对路径-> cd ./robertohuang/tomcat
绝对路径-> cd /home/robertohuang/tomcat
..>当前目录的上-级
.->当前目录
进入家目录(/home/robertohuang)三种方式
pwd 查看当前所在目录(printf working directory的缩写)
创建/删除目录
创建:mkdir +目录名
mkdir world ->创建world目录
mkdir -p world/a/b ->创建多级目录加参数-p
删除:rmdir +目录名 只能删除空目录,使用频率不高
创建/删除文件 创建touch +文件名
cp
拷贝文件 cp file1.txt file2.txt ->将file1 .txt中的内容拷贝到file2.txt
文件不存在创建文件
文件存在,覆盖原文件
拷贝目录 cp -r dir1 dir2 ->将目录dir1中的内容拷贝到dir2中
dir2 录不存在创建目录
scp
scp:super copy的缩写
使用该命令的前提条件
目标主机已经成功安装openssh- server
使用格式
scp-r目标用户名@ 目标主机IP地址:/目标文件的绝对路径/保存到本机的绝对(相对 )路径
在后续会提示输入yesi此时,只能输"yes而不能简单输入"Y”
scp -r目标用户名@目标主机IP地址:/目标文件的绝对路径/保存到本机的绝对/相对路径
scp -r [email protected]:/home/usertest/test /home/robertohuang/test
拷贝目录需要加参数-r
查看文件内容
cat cat file.txt ->将文件内容一次性输出到终端,如果文件太长,无法再终端全部显示
more
more +文件名
文件内容分页显示到终端,但是只能一直向下浏览,不能回退
相关操作
回车:显示下一行
空格:显示下一页
ctrl+c或q:退出
less
less+文件名
文件内容分页显示到终端,可以自由上下浏览
相关操作
回车:显示下一行
空格:显示下一页
ctrl+p 或↑:滚动到上一行
ctrl+n或↓:滚动到下-行
q:退出
head
从文件头部开始查看前x行的内容
head -5 hello.c -->查看hello.c文件前五行的内容
如果没有指定行数默认显示前10行内容
tail
如果没有指定行数默认显示前10行内容
tail -5 hello.c -->查看hello.c文件后五行的内容
如果没有指定行数默认显示后10行内容
in
软连接(符号链接)
相当于windows下快捷方式
注意事项
创建软链接,源文件要使用绝对路径
连接大小源文件+路径的总字节数
目录可以创建软链接
示例:In -s /home/robertohuang/a.txt (源文件名+绝对路径) a.test (软链接的名字)
硬连接
注意事项
以文件副本的形式存在,但不占用实际空间
不允许给目录创建硬链接
硬链接只有在同一个文件系统中才能创建
硬链接能够同步更新
linux下每一个文件都对应一 个Inode,创建 硬链接后两个文件的Inode是相同的
查看文件的Inode:stat a.txt
文件创建硬链接后,硬链接计数+ 1,删除一个硬链接硬链接计数-1
文件或目录属性
wc
查看文件的字数、字节数、行数
行数字数字节数文件名
wc a.txt
结果7 23 120 a,txt
参数
-C:只显示字节数
-l:只显示行数
-W:只显示字数
od 查看二进制文件信息
du 查看某个目录的大小(disk use的缩写)
df 查看磁盘的使用情况(disk free的缩写)
which
查看指定命令所在的路径
which指令会在PATH变量指定的路径中搜索某个系统命令的位置并且返回第一个 搜索结果
文件权限,用户,用户组
whoami 查看当前登录用户
chmod
修改文件访问权限(change mod的缩写)
修改方式
文字设定法
chmod [who] [+||=] [mode]文件名
操作对象[who]
u --用户(user)
g -同组用户(group)
o--其他用户(other)
a--所用用户(all) [默认]
chmod [who] [+||=] [mode]文件名
+ --添加权限
--- 取消权限
= --赋予给定权限并取消其他权限
权限[mode]
r--读
w--写
x--执行
例:chmod u + WX file.txt
数字设定法
数字表示的含义
0 --没有权限(-)
1 -执行权限(x)
2 --写权限(w)
4--读权限(r)
操作符[+-=]
+ --添加权限
---取消权限
= --赋予给定权限并取消其他权限(默认为=)
例:chmod 777 file.txt
chown
将指定文件的拥有者改为指定的用户或组(change owner的缩写)
用法
chown +文件所属用户+文件或目录名
chown robertohuang text.txt
chown +文件所属用户:文件所属组+文件或目录名。
chown robertohuang:robertohuang text.txt
chgrp
改变文件或目录的所属群组
用法
chgrp +用户组+文件或目录名
chgrp robertohuang text.txt
查找和检索
find
按文件名查询: -name
find+路径+-name+文件名
find /home/robertohuang -name a.txt
按文件大小查询: -size
find+路径+-size+范围
范围
大于:+表示-- + 100k范围
小于:表示-- -100k
等于:不需要添加符号-- 100k
大小
M必须大写
k必须小写
例子
等于100k的文件: find ~/ -size 100k
大于100k的文件: find ~/ -size + 100k
大于50k,小于100k的文件: find ~/ -size + 50k -size -100k
按文件类型查询: -type
find +路径+ -type+类型
类型
1.普通文件类型用f表示而不是-
2.d->目录
3.l->符号链接
4.b ->块设备文件
5.c->字符设备文件
6. s-> socket文件,网络套接字
7.p->管道
例子find /home/robertohuang -type
grep
按文件内容查找
参数:-r
grep -r +”查找的关键字” +路径o
grep -r "main void" /home/robertohuang
压缩包管理
gz格式
压缩:gzip命令
压缩过程中不保留原文件
不能对目录进行压缩
不能对多个文件进行打包压缩
解压缩:gunzip命令
bz2格式
压缩:bzip2命令
通过使用参数-k(keep)保留源文件
不能对目录进行压缩
不能对多个文件进行打包压缩
解压缩:bunzip2命令
zip
打包
zip-r +打包之后的文件名(dir zip) + (打包的目录)dir
解包
unzip dir.zip
使用参数- d来解压到指定目录unzip dir zip -d /home/robertohuang/test
tar
通过添加参数,来完成文件的压缩和解压
参数
z->用gzip来压缩/解压缩文件
j->用bzip2来压缩/解压缩文件
c-> create ,创建新的压缩文件。如果用户想备份一个目录或是一 些文件,就要选择这个选项
x->从压缩文件中释放文件
v ->详细报告tar处理的文件信息
f->指定压缩文件的名字
压缩
tar +参数( zcvf) +压缩包名字.tar.gz +原材料(要打包压缩的文件或目录)
tar +参数(jcvf) +压缩包名字.tar.bz2 +原材料(要打包压缩的文件或目录)
解压缩
tar +参数(zxvf) +已有的压缩包( test.tar.gz )
tar+参数(jxvf) +已有的压缩包( test.tar.bz2 )