linux常见指令以及权限理解

来源:互联网 发布:淘宝货到付款不付款 编辑:程序博客网 时间:2024/06/05 14:34

1、计算机的五大单元:
输入单元:包括键盘,鼠标,扫描仪,手写板等。
中央处理器(CPU):含有算术逻辑,控制,记忆等单元。
输出单元:显示器,打印机。
这里写图片描述
注意:存储器☞内存,CPU只能与内存打交道

2、环境变量的概念
PATH指定命令的搜索路径
HOME:指定用户的主工作目录
LOGNAME:☞当前用户的登录名
SHELL:☞当前用户用的哪种shell

修改和查看环境变量的命令:
echo:显示某个环境变量的值 echo $PATH
这里写图片描述

export:设置一个新的环境变量 HELLO="hello" (可以无引号)
这里写图片描述

env:显示所有环境变量

set:显示本地定义的shell变量

unset:清除环境变量 unset HELLO
这里写图片描述

readonly 设置只读环境变量 readonly HELLO

3、Linux文件类型(Linux下一切皆文件)
1》普通文件(regular file):第一个字符为[ - ]
包括:①纯文本档(ASCII):文件内容为人类直接可以读到的数据
②二进制文件(binary):只包含0 1代码的文件,如Linux中的可执行文件
③数据格式文件(data):某些特定格式的档案可以被称为数据文件,一般用cat命令看到的都是乱码
2》目录(directory): 第一个字符为[ d ]
3》连接文件(link):第一个字符为[ l ]
4》设备和设备文件
包括:块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为[ b ]
字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等,第一个字符为[ c ]
5》套接字(sockets)第一个字符为[ s ]
还被称为数据接口文件,这种类型的文件通常被用在网络上的数 据连接
6》管道(FIFO,pipe)第一个字符为[ p ]
FIFO也是一种特殊的文件类型,他主要的目的解决多个程序同时 访问一个文件所造成的错误问题,first-in-first-out。

4、Linux的扩展名
Linux同Windows不同,在Windows下,能被执行的档案扩展名通常是 .com .exe .bat 等,而Linux是没有扩展名的,判断一个文件是否可以执行的依据是看它的执行权限中是否包含x,包含x就可以被执行。
在Linux下,
.sh : 脚本或者批处理文件(scripts)
.Z .tar .tar.gz .zip .tgz : 经过打包的压缩文件。
.html .php :网页相关文件。

5、Linux的目录结构
这里写图片描述

6、shell的运行原理
从技术角度,Shell的最简单定义: 命令行解释器(command Interpreter)
主要包含:
a. 将使用者的命令翻译给核心(kernel)处理。
b. 同时,将核心的处理结果翻译给使用者。
对比windows GUI,我们操作windows 不是直接操作 windows内核,而是通过图形接口,点击,从而完成我们的操作。
shell 对于Linux,有相同的作用,主要是对我们的指令进 行解析,解析指令给Linux内核。反馈结果在通过内核运行出结
果,通过shell解析给用户。

shell的普遍作用:
除了向内核传送命令之外,shell的主要任务是提供一个可单独配置的使用shell资源配置文件的用户环境。
shell任务的一个重要部分是搜索命令。

shell如何运行程序 ?
shell用fork建立新进程,用execv函数簇在新进程中运行用户指 定的程序,最后shell用wait命令等待新进程结束。wait系统调 用同时从内核取得退出状态或者信号序号以告知子进程是如何结束 的。

7、Linux的权限管理(一件事情允许被谁做?人, 事物属性)
文件访问者(人):
文件或目录的拥有者:u—User
文件或目录的所属组:g—Group
其他用户:o—Others

文件访问权限的种类(事物属性):
基本权限:
i.读(r/4):Read
ii.写(w/2):Write
iii.执行(x/1):execute
iv.“-”表示不具有该项权限

特殊权限:
i.suid (s/4)只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者的身份执行
ii.sgid (s/2)只能应用在可执行文件上,使任意用户在执行可执行文件时,将以拥有组成员的身份执行
iii.粘着位(t/1)只能应用在目录文件上,将使用户在目录中执行删除时,只能删除自己拥有的对象

文件权限值的表示方法:
字符表示: r:可读 w:可写 x:可执行 -:没有该权限
8进制表示:4:可读 2:可写 1:可执行 0:没有该权限

改变文件的权限:
1》chmod:
①用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用户
o:其它用户
a:所有用户
这里写图片描述

②三位8进制数字
这里写图片描述

2》chown:改变文件的拥有者
格式:chown [参数] 用户名 文件名
实例:

# chown user1 f1# chown -R user1 filegroup1

3》charp:修改文件的所属组
格式:chgrp [参数] 用户组名 文件名
参数:-R 递归修改文件或目录的所属组
实例:

# chgrp users /abc/f2

4》umask:查看或修改文件权限
新建文件夹默认权限=0666-权限掩码
新建目录默认权限=0777-权限掩码
超级⽤用户默认掩码值为0022,普通⽤用户默认为0002。

# umask //查看# umask 044//设置

8、常见命令
1》ls常用指令
ls: 显示当前目录下的文件和目录(隐藏文件除外)
ls -a 列出目录下的所有文件,包括以 . 开头的隐含文件和目录。
ls -A列出目录下的所有文件,但不包括以 . 开头的隐含文件和目录。
ls -l:列举当前目录或指定目录中文件或者子目录的详析信息,不包含隐藏文件。
ls -al:列举当前目录或指定目录中文件或者子目录的详析信息,包含隐藏文件。
ls -ll:同ls -l

2》cd 命令
cd 目录名:进入该目录
cd ~:进入用户目录
cd -:返回最近访问目录
cd .. : 返回上级目录

3》时间相关
date 指定格式显示时间:
date +%Y_%m_%d, date +%Y:%m:%d
这里写图片描述

在设定时间方面
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设 置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间

时间加减:
date +%=Y%m%d //显示现在天年月日
date +%Y%m%d –date=”+1 day” //显示后一天的日期
date +%Y%m%d –date=”-1 day” //显示前一天的日期
date +%Y%m%d –date=”-1 month” //显示上一月的日期
date +%Y%m%d –date=”+1 month” //显示下一月的日期
date +%Y%m%d –date=”-1 year” //显示前一年的日期
date +%Y%m%d –date=”+1 year” //显示下一年的日期

时间戳
时间->时间戳:date +%s
时间戳->时间: date +%Y:%m:%d -d @1425384141
Unix时间戳(英⽂文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT 的午夜)开始所经过的秒数,不考虑闰秒。

4》cal指令:
cal命令可以用来显示公历(阳历)日历。
命令格式:
cal [参数][月份][年份]
命令功能:
用于查看日历等时间信息,如只有一个参数,则表示年份
(1-9999),如有两个参数,则表示月份和年份
命令参数:
-1 显示一个月的月历
-3 显示系统前一个月,当前月,下一个月的月历
-s 显示星期天为一个星期的第一天,默认的格式
-m 显示星期一为一个星期的第一天
-j 显示在当年中的第几天(一年日期按天算,从1月1号算 起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
这里写图片描述

这里写图片描述

5》其他常用命令
touch:一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。

mkdir(重要):用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。

rmdir指令 && rm 指令(重要):mkdir是建立目录,而rmdir是删除命令。rm命令可以同时删除文件或目录。

cp指令(重要): 复制文件或目录。

mv指令(重要):是move的缩写,可以用来移动文件或者将文件改名,经常用来备份文件或者目录。

basename指令(重要):返回一个字符串参数的基本文件名称。

dirname指令(重要) :dirname命令的作用是处理路径,以获取路径的父目录,而且 dirname不会检查路径是否合法。

more指令(重要):功能类似 cat ,cat命令是整个文件的内容从 上到下显示在屏幕上。而more指令是按页显示文本内容。 more内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

less指令(重要): less命令的作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

head指令(重要):用来显示 开头某个数量的文字区块,head 用来显示档案的开头至标 准输出中。
tail指令(重要 ):用来显示结尾某个数量的文字区块,tail 用来显示档案的结尾。

file指令:辨别文件类型

which指令:(重要)
我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的⼀一些命令来搜索:
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find (灰常重要)实际搜寻硬盘查询文件名称。

locate指令:让使用者可以很快速的搜寻档案系统内是否有指定的档 案。其方法是先建立一个包括系统内所有档案名称及路径的资料 库,之后当寻找时就只需查询这个资料库,而不必实际深入档案系 统之中了。

压缩文件:
gzip指令:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件。

zcat指令:可查看一个gzip格式的压缩文件,也可以解压缩数据,并把解压后的文件内容显示在屏幕上,但是 在运行zcat命令之后,压缩文件的内容并不发生变化,仍然以压缩方式存储在硬盘上。

tar指令(重要): tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

uname指令:用来获取电脑和操作系统的相关信息。

pwd指令(重要):查看”当前工作目录“的完整路径。

cat指令(重要 ):
主要有三大功能:
1.一次显示整个文件。 cat filename
2.从键盘创建一个文件。 cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件: cat file1 file2 > file
tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示。

Sort指令 (重要) :将文本文件内容加以排序。

uniq指令(重要): uniq命令用于报告或忽略文件中的重复行,一般与sort命令结合使用。

who指令:显示目前登入系统的用户信息。

kill指令:用来终止指定的进程。

diff:在命令行中打 印每一个行的改动。

更多命令的查询: http://man.linuxde.net/uniq

原创粉丝点击