linux常用命令

Posted on 2013-08-16 01:25  祖国未来的花朵  阅读(193)  评论(0)    收藏  举报

文件命名规则
1)除了/之外,所有的字符都合法
2)虽然所有的字符都可以用,但是我们不建议用空格符、制表符
退格符和字符@#$&()-等
3)大小写敏感
4)避免使用.作为普通文件名的第一个字符
linux里 文件不一定有后缀名 而且文件名可以很长

命令格式
1)命令 -选项 参数<就是命令所操作的对象> 如:ls -la /etc
2)当有多个选项时,可以写在一起
两个特殊的目录.和.. 前者表示当前目录 后者表示当前目录的父目录。在linux中 cd .. cd和..之间必须有空格。

文件处理命令

ls 英文原意list 存在于bin/ls中。
命令是针对用户的 命令是存在于下面的目录中的
只有root才能执行的 /sbin /usr/sbin
所有用户都能执行的 /bin /usr/bin

根据目录,我们完全可以根据目录来判断这个命令是哪个用户有权限执行


ls -ald -a all -l long详细信息显示 -d 查看目录属性

 

drwxr-xr-x 2 d代表文件类型 表示目录 -代表二进制文件 l代表软链接文件link 常见的三种

2 代表硬链接数
rwx r-x r-x
所有者 所属组 其他人

drwxr-xr-x 2 root所有者 root所属组 文件创建时间或最后修改时间 文件名

 

linux中 数据块是最小的存储单位。默认512字节

ls -d /test 查看目录的详细信息

软链接和硬链接

学习命令的方法
命令的作用
命令的原理
命令的所在路径
命令的选项

cd
pwd
touch 文件名 创建空文本文件
mkdir 目录名 创建目录
cp -R 源 目的地 如果复制目录 必须加-R 表示递归
ctrl+c 终止操作 如果复制文件。不必写-R
cp 可以写多个被复制的文件 目的

mv 移动目录 更改名字 可以在移动过程中更改名字

rm删除 rm 如果删除文件 不需要加-r 如果删除目录,必须加-r -f表示强制的 ,这时不会有提示,直接干掉。 当你真的确定要干掉整个目录,而不是一个一个的提示你是否删除这个目录,你就可以直接
rm -rf 强制的直接全部干掉

cat 文件名 显示文件内容 只读
more 文件名 显示文件内容 分页显示 空格或f下一页 回车下一行 q或Q退出

head -num指定行数 文件名 查看文件的前几行 默认看10行
tail -30 文件名 查看文件的后几行 -f表示动态的显示,实时的显示最新的信息

tail -f 日志 实时的显示日志信息

ln -s 源文件 目标文件 创建软链接
软链接的权限全是lrwxrwxrwx
软链接只是一个符号连接 他指向了源文件 最后执行的还是源文件 它有什么权限并不重要,重要的是源文件的权限。
软链接就很类似于windows的快捷方式。
软链接依赖于源文件,删除源文件,软链接将无效。
什么时候用windows的快捷方式和什么时候用linux的软链接都是一样的,基本上没什么区别。

ln 源文件 目标文件 创建硬链接

硬链接 类似于拷贝 但它是同步更新的 与源文件具有相同的i节点。所以说硬链接与源文件会同步更新,你删除了任何一个就相当于只是删除了一个映射而已,文件还会被访问到。
linux内核只认识i节点,这是关键。
硬链接不能跨文件系统的,就是不能跨分区的。
i节点 数字标识
文件的数字标识 i-inode
ls -i i-inode 查看i节点
每个文件必须有i节点,如果没有i节点,那么这个文件将无法再被访问了。

权限管理命令

第一种授权 chmod u/g/o +/-/= 权限 文件
如:chmod u+wx chmod o-rx chmod g=rwx这个不管以前是什么权限,现在就是rwx了
chmod u+w 文件

第二种授权,数字授权
r-4 w-2 x-1
chmod 777 文件名 这个句子就包括了对所属组所有者其他人的权限。推荐使用的。


su -用户 切换用户 从普通用户切换到管理员需要密码 从普通用户切换到另一个普通用户需要密码 从管理员切换到普通用户需要密码。

文件的权限
r-cat more head tail
w-echo vi表示对文件内容的修改而已 并不是对文件的删除与增加
x-命令、脚本

目录的权限
r-ls
w-表示可以在这个目录中的文件进行创建或删除 touch mkdir rm
x-cd 表示可以进入目录,这就表示对目录的执行操作。

由上可知
目录的rx权限要同时出现的。

umask -S 查询系统创建文件默认的权限

umask 0[022]
第一个0 特殊权限位
022 权限掩码值
777-022=755-111=644 这个才是真正的权限

umask 027 这样 缺省文件的权限就变了

 


linux的权限规则,缺省创建的文件不能授予可执行的权限

chown 所有者<必须在系统中存在> 文件或目录 改变文件的所有者

添加用户 useradd zhangpeng
设置密码 passwd zhangpeng

chgrp 所属组<必须系统中存在> 文件或目录的名称 改变文件的所属组

文件搜索命令

which 命令名称 显示系统命令所在目录 which ls 显示ls这个命令的绝对路径

在linux世界中,所有的东西都是一个文件,同理,命令也是一个文件。那么这个文件[命令]存放目录的不同,就代表了它有不同的权限。

whereis 和which功能相似 但是显示信息有区别 只能找命令

find 路径 搜索关键字 不光只查命令
查找文件或目录 尽量不要在根目录范围查找 浪费时间 占用资源

find /etc -name init[文件名] 根据文件名查找 必须是匹配的 包含的不会查出来

如果我们不记得我要找的文件名的全名是什么了
find /etc -name init* 查找所有以init开头的文件

*匹配任意字符
?匹配单个字符

根据文件大小查找
find /etc -size +204800 大于204800字节
+ - 不写的时候代表等于

根据文件所有者查找
find /etc -user 文件所有者 zhangpeng
显示属于zhangpeng的所有文件

根据时间值查找

天 ctime atime mtime
分钟 cmin amin mmin
c--change改变 表示文件的属性被修改过 如 所有者 所属组 权限
a--访问
m--modify修改 表示文件的内容被修改过

例:
find /etc -mmin -120 两个小时之内文件内容被修改过的文件
-之内
+超过

-a and 逻辑与 -o or 逻辑或
find /etc -name init* -a -type d/f/l<显示的类型>

find /home -user zhangpeng -exec/ok rm -rf {} \;
find查询的结果交给exec exec将查询的结果全部干掉。
ok与exec唯一的区别 ok有提示 exec不提示。


find的综合用法
find /etc -name init* -a type f -exec ls -l {} \;

一些奇怪的文件名 我们只能通过i节点来删除
find . -inum 16 根据i节点查找数值为16的文件

find . -inum 15 -exec rm {} \;

linux中有这个命令 unix没有
locate 搜索关键字 查找文件或目录

updatedb 建立整个系统目录文件的数据库
这是linux系统中的数据库,当我们创建了一个文件时,这个文件不一定会及时的录入到数据库中。所以我们可以手动更新系统中的数据库或者通过计划任务。

在系统安装完毕后,就会在整个linux系统中建立一个文件目录的
数据库。

所以locate 只是在这个数据库中去查找文件,并不是在硬盘中查找。

所以如果为了提升查找效率 我们需要定期的去更新数据库,然后再使用locate,所以locate 和updatedb要联合使用。

grep 指定字符串<关键词> 源文件 根据关键词搜索。

帮助命令 man
man 命令或配置文件

man ls
man services配置文件,只能是配置文件
如果配置文件与命令同名时,优先查询命令的帮助。
man 5 passwd 表示查看配置文件的帮助
默认是man 1 passwd 表示查看命令的帮助 默认1是可以省略的

用q退出

info类似于man 只是显示的信息的略有不同。
info 关键字 unix没有 linux独有的

whatis 命令名 只是想知道这个命令是干嘛用的。

命令 --help 显示这个命令的所有选项

man -k 和apropos相似。
apropos 关键字 包含关键字的所有文件都是干嘛用的

makewhatis 建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立。

help 查看shell内置命令的帮助


压缩解压命令:gzip
压缩后的文件以.gz结尾,不保留源文件。
gzip 选项 文件名 压缩文件 只能压缩文件,不能压缩目录
linux的压缩,windows都支持,反过来则不行

解压
gunzip 选项 压缩文件


tar 选项 目录 压缩,打包为目录