一些linux基本命令和概念
一些Linux下的基本命令,初学者可以看看,其他高手是不用看了的:
首先linux下的file/dir具有user、group、others三种不同的所有者,
每种所有者又有rwx三种显示的权限,以及s或t两种特殊权限
rwx分别为读、写、执行,命令ls -l file/dir可以查看权限
命令的一般格式为:
command [-options] parameter1 parameter2 ......
命令 选项 参数1 参数2 ......
man command:可以查看一个command的具体用法,查询其options如何使用;
比如man chown
chgrp [-R] file/dir:改变文件所属的用户组,-R递归更改,chgrp usersgroup /tmp/test
chown [-R] username file/dir:改变文件的所有者
chmod [-R] 777 file/dir:改变文件的权限(r代表4、w代表2、x代表1,相加即可)
chmod 755 /tmp/test,将/tmp/test的权限设置为rwxr-xr-x
在chown的使用中,可以直接chown username:group file/dir,直接修改文件所有者与用户组,使用" : "分隔;
在chmod的使用中,还能使用u.g.o.a代表用户、组、其他人、全部,-+=代表删除、添加、设置,
比如:chmod a=rwx file/dir;chmod a+w file/dir;
cd dir:切换目录,直接cd回到当前用户的主文件夹
pwd [-P]:显示当前所在目录,-P显示当前路径,而不是链接(l)路径
mkdir [-mp] dir:新建目录,-m 能直接配置权限,-p可以创建上层目录,mkdir -m 755 /tmp/test
rmdir [-p] dir:删除目录,-p连同上层空的目录一起删除(rmdir仅仅能删除空目录)
PATH="$PATH":dir:配置环境变量,dir是目录
ls [-options] file/dir:查看文件或目录,要查看具体信息需要指定不同的选项
ls -l file/fir在第一行会出现total字样,单位为k,可以使用-h自动转换为合适的单位,计算方法为:该目录下所有数据所占用的实际block数量 x block的大小的值,
ls -s可以在每一行首位显示占用了多少block
cp [-options] source dest:复制文件或目录,-r会递归持续复制,-i 会在覆盖时询问;
若使用-a,那么完全复制文件所有特性(),否则会复制执行者的属性与权限
rm [-options] file/dir:删除文件或目录,-r可以递归删除
mv [-options] source dest:移动文件或目录,或重命名
nl [-bnw] file:查看文件内容,-b a显示行号,包括空行、-n调整行号位置,-n ln/rn、-w调整行号的位置 -w 3第一行显示为001
less file:与man的显示方式相同
touch [-acdmt] file:创建文件,或修改文件时间,-c文件不存在时创建新文件,-dt均可指定时间
文件时间类型:
1、mtime内容数据更改时更新的时间,-m修改
2、ctime文件权限或属性(ls -l显示的就是属性)被修改时会更新的时间,
3、atime文件的被读取时会更新的时间,-a修改
umask [-S]:当前用户在新建文件或目录时候的默认权限值,umask显示为4位,首位为特殊权限
-S以ugo方式显示,umask -S显示为u=rwx,g=rx,o=rx
root下直接umask显示0022,普通用户显示为0002,
表示在创建文件或目录时,删除对应权限位置的w权限,(因为w对应2)
特殊权限出现在rwx的x位上,比如drwsrwsrwt,若无特殊权限应为drwxrwxrwx
根据u、g、o位置的不同分别称作SUID、SGID、SBIT,(sst),
SUID:执行者执行该程序的过程中,将具有所有者的权限(仅对二进制程序有效)
SGID:可以对文件和目录进行设置,执行者执行时具有用户组的权限,当执行者具有目录的w权限时,该用户创建的新文件的用户组与此目录的用户组相同
SBIT:仅对目录有效,用户在该目录下创建的文件或目录,只有自己和root能删除
设置特殊权限的方法:
SUID为4、SGID为2、SBIT为1,通过chmod可以设置
chmod 7755 file;chmod 5755 file;
file file/dir:查看文件类型
which [-a] command:脚本文件名(命令)查询,在PATH中查询,-a将PATH中所有找到的命令列出
whereis [-options] file/dir:文件名查询,完全匹配模式
locate [-ir] keyword:文件名查询,模糊查询,-i 忽略大小写,-r后可接正则表达式
find [PATH] [-options] [action]:文件名查询,下面举例:
找出/etc下面,文件在50k-60k之间的文件,并列出权限
find /etc -size +50k -a -size -60k -exec ls -ld {} \;
权限对文件的意义:
r:可读取此文件的内容
w:可以编辑、新增或修改文件的内容
x:该文件具有可以被系统执行的权限
文件默认不具有x执行的权限(rw-rw-rw),创建时还要综合umask来分配权限,
比如root创建的文件权限为:rw-r--r--,用户创建的为rw-rw-r--
权限对目录的意义:
r:表示具有读取目录结构列表的权限,(ls)
w:新增、删除文件或目录的权限,或对文件、目录重命名的权限,转移文件、目录位置的权限
x:代表用户是否能进入目录成为工作目录,(cd)
目录默认权限为rwxrwxrwx,创建时也要综合umask来分配权限
比如root创建的目录权限为rwxr-xr-x,用户创建的为rwxrwxr-x