查看系统版本信息的命令:lsb_release -a
总共有6个文字界面 tty1~tty6,还有一个图形界面tty7
对应界面进入方法:ctrl+Alt+[F1~F7]
终端terminal快捷打开方式:Ctrl+Alt+T
who命令查看用户在线信息
进入root权限命令:sudo su,再输入密码即可
处于root权限切换回普通用户命令:su - 用户名
普通用户再回到root权限命令:exit
文件权限
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除(先必须使该目录具有可访问权限x)、移动目录内文件的权限。(若某个文件不能删除,则必须先追溯其父文件是否具有w权限)
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
s(SUID):仅针对二进制程序有效
假设一个文件的权限是(-rwsr-xr-x),own为root
但是其他用户对其具有x权限,
于是其他用户在执行这个文件时就会短暂获得root权限
因此就能修改
t(SBIT):仅针对目录而言
用户对此目录具有x,w权限,即具有写入权限时,用户在该目录下创建的文件或目录,只有自己和root才有权利删除
权限设置
SUID:4
GUID:2
SBIT:1
假设一个文件权限为(-rwxr-xr-x),要为其加上用户s权限命令
chmod 4755 filename
linux系统约定的默认颜色:
- 白色:表示普通文件
- 蓝色:表示目录
- 绿色:表示可执行文件
- 红色:表示压缩文件
- 浅蓝色:链接文件
- 红色闪烁:表示链接的文件有问题
- 黄色:表示设备文件
- 灰色:表示其他文件
若有背景颜色则为权限:像绿底蓝字,则为任何人都可读写访问的目录
命令都在/bin文件里,可执行命令都必须有x权限,否则不能执行
就像ls的权限为:
-rwxr-xr-x 1 root root 126584 2月 18 2016 ls
命令之所以能被执行,是因为所在的目录被放进了环境变量($PATH)里。(环境变量里用冒号:来充当分隔符,window里环境变量用分号;做分隔符)
环境变量的目录可能存在相同的命令,像名为ls的命令存在于/usr/local/bin/ls和/bin/ls,那么哪个目录先被查到就先执行ls命令
把某一目录添加到环境变量里的方法:
PATH=”$PATH”:/某目录路径
输入的目录若太长,可以先输入目录前缀(前缀须独一无二),再按[TAB]键,可以快速完整的补全该目录。
一段文件路径可用 :
dirname 路径 来取出路径目录
basename 路径 来取出文件名
linux文件时间:
- mtime(modification time):文件内容数据被修改时,就会更新这个时间
- ctime(satus time ):文件的权限与属性被更改时,就会更新这个时间
- atime(access time):当文件的内容被访问时,就会更新这个时间,例如用cat去读取或用vi
umask修改创建文件和目录的默认权限:
新建文件的默认权限(-rw-rw-rw-) = 新建文件的默认权限 - umask设置的权限
新建目录的默认权限(-dwxrwxrwx) = 新建目录的默认权限 - umask设置的权限
umas设置方法,例如:umask 022
root的umask默认值022
一般用户的umask默认值002
查看文件的类型 file
Linux命令(注:主要还是得学会用man):
ls 列出目录列表(默认有排序):
-l 可查看详细列表(包括权限)
-a 列出所有文件(包括隐藏文件
-A 列出所有文件,但是过滤 .和.. 这两个目录
-d 只显示你要查找的那个目录本身,而不是目录里面的内容
-r(–reverse)将排序结果反向输出
-R(–recursive)级联列出,将子孙目录一起列出
-S按文件大小排序
-t按时间排序
–time=[atime,ctime](简洁表示,必须与-l一起使用:-lu、-lc)默认访问的是mtime
mkdir创建目录 :
-p (–parents)级联创建目录
-m (–mode=)设置数字表示的权限
-v (–verbose) 打印步骤信息
rmdir 删除空目录
-p (–parents)级联删除空目录
-v (–verbose)
rm 删除文件或目录(注意是否有删除权限W)
rm只能删除文件,若要删除目录要加[option]选项
-r (-R, –recursive) 级联删除该目录,以及目录里面的所有内容
-d(–dir) 只删除空目录,同 rmdir-i 删除前给你提示信息(Y/N)
-f(–force) 删除不存在的文件时,不产生警告信息
-v(–verbose)
cp复制文件或目录
-r(-R,–recursive) 级联复制,针对目录而言
-i(–interactive) 覆盖已存在文件前询问(Y/N)
-p 连同文件属性一起复制,而不是使用默认属性
-f(–force) 若目标文件已存在且你没有权限打开,则删除后重试复制
-l 硬连接文件创建 (属性与原始文件一直保持一致)
-s 软连接文件创建 ,即快捷方式文件(自己生成属性)
硬连接和软连接文件再复制就成为一个独立的文件(自己生成属性),与哪个文件都毫不相关(使用-p能复制原始文件属性,但仍然是一个独立的文件)
-d 若源文件为软连接文件的属性,则复制连接文件的属性而不是文件本身(若是硬连接,则不发生作用)
mv 移动或重命名文件(若目标位置存在同名文件,则覆盖)
-i 覆盖前询问(Y/N)
touch 创建文件或修改文件时间
touch filename(若filename存在,则更新atime、ctime、mtime;若文件不存在,则创建新文件filename)
-c 若文件不存在,则不会创建新文件
-a更新atime和ctime
-m更新mtime和ctime
注:atime和mtime可以改为以前的时间,但是ctime只能是更新
复制一个文件的所有属性时,ctime是没有办法被复制的
文件内容查阅命令
cat(concatenate)直接查看文件内容
-n 列出行号
-b 列出行号,跳过空白行
-A 整合了-vET可以列出看不见的隐藏字符
tac(反cat)从尾行开始查看文件内容
nl 加行号查看文件内容(等同于 cat -b filename)
more 可实现翻页查询
进入more的操作
空格键 :向下翻一页
回车 :向下滚动一行
b:往回翻页
/string:查找string n:下一个查询
q:离开more模式
less 翻页查询
进入less操作:
[pagedown]:向下翻一页
[pageup]:向上翻一页
/string:向下查找字符串 n:下一个查询
?string:向上查找字符串 N:上一个查询
q:离开
head查看头几行
-n 后接数字,表示头几行(默认显示头10行)
tail查看后几行
-n后接数字,表示尾几行(默认显示后10行)
chattr设置文件的隐藏属性
+ 增加某个特殊参数(语法 chattr +a file 只能在root下修改)
- 移除某个特殊参数 (语法 chattr -a file 只能在root下修改)
a 该文件只能追加数据,不能修改数据也不能删除
i 让一个文件不能被删除、改名、无法写入或添加数据(设置连接也没办法)
lsattr查看文件的隐藏属性
-R 级联查看文件及其子孙
-a可查看隐藏文件
-d只看当前目录本身,而不看其内容
/dev/null
如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:
$ command > /dev/null
/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;如果尝试从该文件读取内容,那么什么也读不到。但是 /dev/null 文件非常有用,将命令的输出重定向到它,会起到”禁止输出”的效果。
如果希望屏蔽 stdout 和 stderr,可以这样写:
$ command > /dev/null 2>&1
注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。