您当前的位置:首页 > 分类 > 技术资讯 > LINUX > 正文

Linux 常用操作命令

发布时间:2016-12-27 17:02:14      来源:51推一把
【摘要】Linux文件与目录管理中,常用到的命令
#查看当前目录
pwd

#进入某个目录

cd

#创建目录
mkdir -p 递归创建

#删除目录
rmdir -p

#删除文件或目录
rm -rf  -f强制 -r 当删除目录时,加该选项,如果不加这个选项会报错。

#查找一个命令的绝对路径
which rm
alias是用来设置指令的别名

#环境变量PATH
echo $PATH

#复制文件
cp [选项] [ 来源文件 ] [目的文件]

#新建文件
touch file
echo "aaa" >test >重定向,把"aaa" 写入到test文件
echo "bbb" >>test >>追加写入

#查看文件
cat -A  file -A全部显示包含特殊字符
tac file 反向打印文件内容
more file 空格看下一屏,q退出
less 可以上翻下翻,空格看下一屏;j向下,k向上一行,也可用上下箭头键;q退出
more,less /,? 在使用more和less查看某个文件时,/+word,当前行向下搜索,?+word,当前行向上搜索
head -n file 显示文件前n行,默认前10行
tail -n file 显示最后n行,默认最后10行。-f 动态显示文件的最后十行,如果文件是不断增加的,则用-f 选项

#文件所属主,所属组,及其它用户对该文件的权限
-rw-r--r--  1 root  root   1249 Oct  3  2013 aaa
drwxr-xr-x  2 nginx root   4096 Dec 20 13:37 logs

##第一列共10位
第一位:d目录,-普通文件,b块设备文件,如磁盘分区,c串行端口设备,如键盘、鼠标,s套接字文件(socket),用于进程间通信。
后九位:三个一组,rwx组合。r可读,w可写,x可执行。前三为所属主权限,中三为所属组的权限,后三为其它非本群组权限。

第2列,表示为连接占用的节点(inode),若为目录时,通常与该目录地下还有多少目录有关系。
第3列,表示该文件的所属主。
第4列,表示该文件的所属组。
第5列,表示该文件的大小。
第6列、第7列和第8列为该文件的创建日期或者最近的修改日期,分别为月份日期以及时间。
第9列,文件名。如果前面有一个. 则表示该文件为隐藏文件。

#更改文件权限
chgrp [组名][文件名] 更改所属组
groupadd [组名] 增加一个用户组
chown [-R] 帐户名 文件名 -R选项只作用于目录,作用是级联更改
chown [-R] 帐户名:组名 文件名
useradd 增加一个账户

#查看所有组,所有用户
groups 查看当前登录用户的组内成员
groups username 查看username用户所在的组,以及组内成员
whoami 查看当前登录用户名
cat /etc/group文件包含所有组
cat /etc/shadow和/etc/passwd系统存在的所有用户名

在/etc/group:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

#改变用户对文件的rwx权限
chmod [-R] 755 文件名  -R级联更改 #数字表示权限
r:4 w:2 x:1 -:0
举个例子,-rwxrwx---用数字表示就是 770
值得提一下的是,在linux系统中,默认一个目录的权限为 755,而一个文件的默认权限为644。

chmod [u,g,o,a] [+,-,=] [rwx] [文件或目录] chmod 还支持使用rwx的方式来设置权限。
九个属性分别是(1)user (2)group (3)others 三群啦!用 u, g, o 来代表三群的属性, a 则代表all亦即全部的三群
eg:chmod u=rwx,og=rx test/a
   chmod u-x test/a  

#查找文件
find [路径] [参数]
find / -name filename
find / -type filetype  type包含了f,b,c,d,l,s等等
时间参数:
-atime +n :访问或执行时间大于n天的文件
-ctime +n :写入、更改inode属性(例如更改所有者、权限或者连接)时间大于n天的文件
-mtime +n :写入时间大于n天的文件

ls -l 命令可用来列出文件的 atime、ctime 和 mtime。
ls -lc filename   列出文件的 ctime
ls -lu filename   列出文件的 atime
ls -l filename    列出文件的 mtime    

文件的 Access time,atime 是在读取文件或者执行文件时更改的。
文件的 Modified time,mtime 是在写入文件时随文件内容的更改而更改的。
文件的 Create time,ctime 是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改的。
因此,更改文件的内容即会更改 mtime 和 ctime,但是文件的 ctime 可能会在 mtime 未发生任何变化时更改,
例如,更改了文件的权限,但是文件内容没有变化。
atime不一定在访问文件之后被修改,
因为:使用ext3文件系统的时候,如果在mount的时候使用了noatime参数那么就不会更新atime的信息。
而这是加了 noatime 取消了, 不代表真实情況。
反正, 這三個 time stamp 都放在 inode 中。
若 mtime, atime 修改inode 就一定會改, 既然 inode 改了, 那 ctime 也就跟著要改了。