命令熟悉
来源:互联网 发布:java md5 32加密算法 编辑:程序博客网 时间:2024/05/16 18:53
快捷键:打开终端 ctrl+alt+T 清除终端命令:ctrl+L 补全:Tab 提示:按两次Tab
1.我们打开linux终端的时候都有这样一句话: ***@***:~$ (其中***是自己用户的名字和主机名)
fuzhongyu@fuzhongyu-Lenovo-G400:~$ 解析:
fuzhongyu 指当前用户
fuzhongyu-Lenovo-G400 指主机名
~ 家目录
$ 当前是普通用户 # root 用户
2 ls 命令
选项: -a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode (文件编码,相等于id)
演示实例:
ls -l
结果:
总用量 488-rw-r--r-- 1 fuzhongyu fuzhongyu 8980 4月 6 17:10 examples.desktop-rw-r--r-- 1 root root 426904 12月 5 2013 hostapd_1.0-3ubuntu2.1_amd64.debdrwxrwxr-x 2 fuzhongyu fuzhongyu 4096 7月 29 15:07 mixeddrwxrwxr-x 3 fuzhongyu fuzhongyu 4096 4月 24 11:33 My eBooksdrwxrwxr-x 6 fuzhongyu fuzhongyu 4096 7月 30 16:58 softdrwxrwxr-x 4 fuzhongyu fuzhongyu 4096 4月 23 19:58 VirtualBox VMsdrwxrwxr-x 5 fuzhongyu fuzhongyu 4096 6月 1 09:43 workspacedrwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 公共的drwxrwxrwx 3 fuzhongyu fuzhongyu 4096 6月 26 23:08 共享文件drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 模板drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 视频drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 图片drwxr-xr-x 3 fuzhongyu fuzhongyu 4096 5月 23 20:59 文档drwxr-xr-x 4 fuzhongyu fuzhongyu 4096 7月 30 17:17 下载drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 音乐drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 7月 12 21:44 桌面
解析:
ls -l 表示显示的是目录下的详细信息,默认为当前文件。也可用 ls -l soft 这样显示的就是soft 文件目录下的详细信息了
接下来我们对显示的信息做一个简单的了解:
-rw-r--r--:
-(最开头那个) 代表的是文件类型(-文件,d 目录 , l 软链接文件)
r (read) 读 w(write) 写 x(excute) 执行
rw- r-- r--
所有者 所属组 其他人
例子:
-rw-r--r-- 1 fuzhongyu fuzhongyu 8980 4月 6 17:10 examples.desktop这是一个文件(-开头) 所有者是 fuzhongyu 具有读写权限(rw-) ,所属组是fuzhongyu 具有读的权限(r--),其他人 具有读的权限(r--)
drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 图片这是一个目录(d开头) 所有者是 fuzhongyu 具有 读写执行 权限(rwx) ,所属组是fuzhongyu 具有 读执行 的权限(r-x),其他人 具有 读执行 的权限(r-x)
接着我们再看后面几列信息
drwxr-xr-x 2 fuzhongyu fuzhongyu 4096 4月 6 17:15 图片4096 表示的是文件的字节数
4月6 17:15 表示的是最后修改的时间
图片 表示的是目录的名称
好,下面我们来介绍一下 -h ,-d ,-i
-h:上面我们通过-l 显示的文件大小是 字节 形式的, 我们用 -h 可将文件大小显示成K形式
-d: 如果我们使用 ls -l soft 那么显示的是soft 目录下文件的信息,那怎么能看到文件本身的信息呢,这时就可以用 ls -ld soft 来查询soft 文件本身的信息了
-i : 每个文件都有一个唯一的标识,相当于id 我们可以通过-i 来看到这个文件的标识
3 建立目录命令
mkdir -p 目录名
-p 递归创建
什么叫递归创建,比如:我想在目录下创建一个test目录,并在test目录下创建t目录,这时我们可以执行mkdir test 来先创建test目录,再进入test目录以相同的方式创建t文件,当我们有-p 时可直接使用 mkdir -p test/t 来创建
4 切换目录命令 cd
cd ~ 进入用户家目录
cd - 进入上次目录
cd .. 进入上一级目录
5 删除命令 rm
rm -rf 目录名
-r 删除目录
-f 强制删除
6 复制命令 cp
cp [选项] [原文件或目录] [目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr
我们在使用的时候经常使用到的是 -r 和 -a,下面我们来看几个简单的列子:
cp -r t2/r t1/
cp -r t2/r t1/p
cp -a t2/r t1/
第一条语句:将目录t2下的r目录复制到t1目录下
第二条语句:将t2下的r目录复制到t1目录下并重命名为p
第三条语句:将目录t2下的r目录复制到t1目录下,并保持修改创建时间等,文件的各种属性完全一致。
6 剪切和重命名 mv
mv需要注意:cp 和 rm 在操作目录的时候需要加-r 但mv 操作目录不需要加-r
运行实例:
mv /home/fuzhongyu/test/t2/p /home/fuzhongyu/test/t1/
将t2下的p 目录 剪切到 t1下,这边使用了绝对路径
mv p s
将目录p 重命名为s
7 文件链接命令 ln
硬链接: ln 原文件 链接文件
硬链接: ln -s 原文件 链接文件
这两个语法和cp基本相同,这里我们主要看看硬链接和软连接之间的区别:
这是一张图示,hard link--->硬链接,file-->原文件,soft-->软连接,inode--->文件节点(相当于id,他存储有数据块的地址,读取数据时将这些数据块拼接就是我们看到的文件了,上面已经讲到过可用 ls -i查看这个节点) , data block--->数据块(数据块不一定是连续的)
我们可以看到硬链接和原文件 存储的是相同的节点。而软连接存储的是原文件文件地址的节点,也就是说软链接并不是通过直接访问原文件的地址,而是先访问原文件文件地址的节点,再通过这个地址节点访问原文件的节点拿到数据。这是我们如果删除了原文件,这个软链接就会失效,硬链接不存在这个问题。我们看软链接的时候,相当于windows中的桌面快捷方式。
8 文件搜索命令
(1) locate文件搜索命令
locate [文件名]
运行实例:
locate /home/fuzhongyu/te这条命令是搜索/home/fuzhongyu目录下已te开头的文件
结果:
/home/fuzhongyu/test/home/fuzhongyu/test/t1/home/fuzhongyu/test/t2/home/fuzhongyu/test/t1/r/home/fuzhongyu/test/t1/s/home/fuzhongyu/test/t2/r
这里我们再简单的来了解下locate 的一些知识,注:
a, locate 是在后台数据库(/var/lib/mlocate)中按文件名搜索的,其搜索速度快
b, 后台数据库并不是实时更新的,他每天会去更新一次,所以我们刚新建的文件立刻使用locate 命令搜索是搜不到的
c, 我们可以通过强制更新数据库的办法,使我们使用locate命令可以搜到刚更新的文件,直接使用命令 updatedb 即可
d, 我们用locate命令是执行/etc/updatedb.com这个配置文件来进行搜索的,但他对于有些目录不会去搜索,下面我们打开这个文件来看一下具体的配置
updatedb.com文件:
PRUNE_BIND_MOUNTS="yes"# PRUNENAMES=".git .bzr .hg .svn"PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs"PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~其中:PRUNE_BIND_MOUNTS="yes" 表示开启搜索限制
PRUNEFS=" " 这里面的文件是搜索时,不进行搜索的文件系统
PRUNENAMES=" " 搜索时不进行搜索的文件类型
PRUNEPATHS=" " 搜索时不进行搜索的文件路径
例如:我们在/tmp 下的文件,使用locate使搜索不到的,因为在配置文件中已经配置了这个文件路径下的文件不进行搜索。
(2) 命令路径搜索命令 whereis和which
注: 使用这两个命令只能搜索命令,不能搜索普通文件
whereis 命令名
选项: -b 只看可执行文件路径
-m 只看帮助文件路径
运行实例:
whereis ls
结果:
ls: /bin/ls /usr/share/man/man1/ls.1.gz
运行实例2:
whereis -b ls
结果:
ls: /bin/ls
which 命令名
这两个命令差不多,就不再做解释
(3)find命令
find [搜索范围] [搜索条件]
搜索时用到的通配符: * 匹配任意内容, ? 匹配任意一个字符, [] 匹配任意一个中括号内的字符
a, 根据文件名搜索
find [搜索范围] -name [搜索条件]
运行实例:在fuzhongyu目录下搜索名称为r 的文件(完全匹配)
find /home/fuzhongyu/ -name r结果:
/home/fuzhongyu/test/t2/r /home/fuzhongyu/test/t1/r
运行实例2:在/home/fuzhongyu/mixed/文件目录下找出ca开头的文件
find /home/fuzhongyu/mixed/ -name "ca*"
结果:
/home/fuzhongyu/mixed/ca.out
b , find [搜索范围] -iname [搜索条件] 不区分大小写
c, find [搜索范围] -user [用户名] 根据文件用户所有者搜索
d, find [搜索范围] -nouser 查找没有所有者的文件(垃圾文件)
e, find [搜索范围] [参数] [时间] 根据文件修改等参数搜索文件
-atime 文件访问时间
-ctime 改变文件属性
-mtime 修改文件内容
时间参数: 如+10表示距离今天10天以前的文件,10表示距离今天第10天的文件,-10在距离今天10内的文件
运行实例:
find /home/fuzhongyu/mixed/ -atime -5结果:
/home/fuzhongyu/mixed//home/fuzhongyu/mixed/view.out/home/fuzhongyu/mixed/ca.out
f , find [搜索范围] -size [大小] 按大小搜索单位(k , M)需要注意大小写,单位要带上
大小参数: 如+10表示大于10,-10表示小于10,10表示等于10
实例: 搜索当前目录下文件大于5k的文件,“.”代表是当前目录
find . -size +5kg, find [搜索范围] -inum [节点号]
h, find [搜索范围] -size [大小] 参数 -size [大小]
-a 且的意思and
-o 或的意思or
实例:搜索当前文件目录下大于5k 小于10k 的文件
<pre name="code" class="java"> find . -size +5k -a -size -10k
j. 对搜索出来的文件再进行处理
find [搜索范围] [条件] -exec 命令 {} \;
实例: 对当前目录下小于10k的文件进行人性化显示详情 (人性化显示:ls -lh [文件名])
find . -size -10k -exec ls -lh {} \;
结果:
总用量 8.0Kdrwxrwxr-x 4 fuzhongyu fuzhongyu 4.0K 8月 22 23:00 t1drwxrwxr-x 3 fuzhongyu fuzhongyu 4.0K 8月 22 22:58 t2总用量 4.0Kdrwxrwxr-x 2 fuzhongyu fuzhongyu 4.0K 8月 22 22:31 r总用量 0总用量 8.0Kdrwxrwxr-x 2 fuzhongyu fuzhongyu 4.0K 8月 22 22:42 rdrwxrwxr-x 2 fuzhongyu fuzhongyu 4.0K 8月 22 22:53 s
(4) grep 命令
grep 选项 [字符] [文件名]
选项: -i 忽略大小写
-v 不含有(即反转)
grep 命令用于搜索文件中含有该字符的行
运行实例:查询ca.out文件中含有size的行(不区分大小写)
grep -i "size" ca.out
9帮助命令 man (manual) help
man [命令]
实例:查看ls命令的文档
man ls
[命令] --help
实例:查看ls命令
ls --help
- 命令熟悉
- linux一些命令熟悉
- windbg命令熟悉
- Ubuntu系统命令熟悉
- git命令熟悉
- oracle dba应熟悉命令
- 熟悉Linux的VI命令
- linux_熟悉常用Linux命令
- 熟悉git命令的小游戏
- Linux熟悉命令之路----find命令
- 熟悉
- 熟悉
- 熟悉
- 熟悉
- 我所熟悉的Linux命令
- 需要熟悉掌握的八个cmd命令
- 做黑客必须熟悉这些CMD命令!!
- oracle DBA 需要熟悉的命令
- 利用SpringMvc和MyBatis实现员工列表显示页面
- 准备在CSDN安家啦。
- Codeforces Problem 707C Pythagorean Triples(数学)
- Codeforces Round #364 (Div. 2) A. Cards
- C基础
- 命令熟悉
- POJ 2186 Popular Cows Korasaju .
- Expedition(优先队列)
- debian sudo自动补全
- 不能打开到主机的连接, 在端口 1521: 连接失败
- 内部排序
- 比特率和波特率的关系
- Debian 8.5设置静态IP
- 菜鸟集中营,关于时间,日期和格式的转化处理