查看命令及其查找命令
查看命令
-
cat:用于查看文件内容(通常这是一个文本文件)cat -n:显示行号
-
more:用来一页一页的显示文件的内容,空格键向下翻动一页,enter键 向下滚动一行。按Q键退出
-
head和tail:分别用于显示文件的开头和结尾。可以使用-n 参数来显示指定的行数。如:head -n 2 a.txt 表示查看1.txt文件中 前两行内容 ,tail用法与head一样
-
less:更好的文本阅读工具:
-
less和more非常相似,但其功能更为强大。less改进了more命令的很多细节,并添加了许多的特性,这些特性让less看起来更像是一个文本编辑器——只是去掉了文本编辑功能。总体来说,less命令提供了下面的这些增强功能。
-
使用光标键在文本文件中前后(甚至左右)滚屏。
-
用行号或百分比作为书签浏览文件。
-
实现复杂的检索、高亮显示等操作
-
兼容常用的字处理程序(如 Emacs、vim)的键盘操作
-
阅读到文件结束时less命令不会退出
-
屏幕底部的信息提示更容易控制使用,而且提供了更多的信息。
-
-
向上翻一页 按B键,向下翻一页按空格键,也可以使用上下左右方向键上下左右移动
-
/ 后面跟上要查找的内容
-
ls -M :可以显示更多的文件信息:可以显示 文件的名字、当前页码、总的页码,以及表示当前位置在整个文件中的位置百分比数值,Q键退出
-
查找命令
grep命令
-
grep 查找文件内容:是根据“基础正则表达式(basic regular expression)”进行搜索
-
grep [OPTIONS] PATTERN [FILE...]
-
如:查找1.txt文本文档中 包含class的行 可以输入(grep class 1.txt)
-
-
find命令
-
find :能够迅速在指定范围内查找到文件
-
find [OPTION] [path...] [expression]
-
如:find /usr/ -name python -print 可以查出usr目录下所有的python目录
-
-
find命令还能够指定文件的类型。在Linux中,包括目录和设备都以文件的形式表现,可以使用-type选项来定位特殊文件类型。例如在/etc/目录中查找名叫init.d的目录。
-
find /etc/ -name init.d -type d -print
-
-
find命令的-type选项可供使用的参数
参数 | 含义 |
---|---|
b | 块设备文件 |
c | 字符设备文件 |
d | 目录文件 |
f | 普通文件 |
p | 命名管道 |
l | 符号连接 |
-
find命令还可以加上 -atime n 参数 ,用来查找最后一次使用在n天前的文件,-mtime n 则用来查找最后一次修改在n天前的文件。在实际使用过程中,很少能准确确定n的大小。在这种情况下,可以用+n表示大于n,用-n表示小于n。 例如,在/usr/bin/中查找最近100天没有使用过的命令(也就是最后一次使用在100天或100天以前的命令)
-
find /usr/bin/ -type f -atime +100 -print
-
-
类似的 ,下面这个命令查找当前目录中,在最近一天内修改过的文件。
-
find . -type f -mtime -1 -print
-
locate命令
-
locate *.txt 会列出所有的txt后缀的文件
jinxp@jinxp:~$ locate *.txt /home/jinxp/.mozilla/firefox/lzta8682.default/pkcs11.txt /usr/share/vim/vim74/doc/gui_x11.txt /usr/share/vim/vim74/doc/usr_01.txt /usr/share/vim/vim74/doc/usr_11.txt /usr/share/vim/vim74/doc/usr_21.txt /usr/share/vim/vim74/doc/usr_31.txt /usr/share/vim/vim74/doc/usr_41.txt /var/lib/nssdb/pkcs11.txt
从终端打开应用程序
-
如:
jinxp@jinxp-Parallels-Virtual-Platform:~$ firefox
会直接打开火狐浏览器 当前终端会被挂起,直到火狐浏览器关闭
#加上&是指程序在后台运行 ,14593是进程号 可以用 kill -9 14593 杀掉该进程
jinxp@jinxp-Parallels-Virtual-Platform:~$ firefox &
[1] 14593
查找特定程序
-
whereis 命令主要用于查找程序文件,并提供这个文件的二进制可执行文件、源代码文件和使用手册页存放的位置。例如,查找find命令
jinxp@jinxp-Parallels-Virtual-Platform:~$ whereis find
find: /usr/bin/find /usr/share/man/man1/find.1.gz /usr/share/info/find.info.gz
-
可以使用-b 选项让whereis命令只查找这个程序的二进制可执行文件。
jinxp@jinxp-Parallels-Virtual-Platform:~$ whereis -b find
find: /usr/bin/find
文件目录管理和文件权限
-
mv:移动命令 加上-i 选项 会出现提示 是否覆盖“文件名”? 加上-b 在移动文件前,首先在目标目录的同名文件的文件名后面加上一个“~” 从而避免这个文件被覆盖掉
jinxp@jinxp-Parallels-Virtual-Platform:~$ mv -i hello.txt test/
mv:是否覆盖'test/hello.txt'? n
jinxp@jinxp-Parallels-Virtual-Platform:~$ mv -b hello.txt test/
jinxp@jinxp-Parallels-Virtual-Platform:~/test$ ls
hello.txt hello.txt~
-
cp拷贝命令 与mv基本一样
改变文件所有权:chown和chgrp
-
chown命令用于改变文件的所有权。
-
用法
chown [OPTION] ...[OWNER][:[GROUP]] FILE...
-
sudo chown jinqi:root test test文件更改 用户和用户组 的所有者
-
sudo chown xiaojin test test文件更改用户 的所有者
-
sudo chown :jinqi test test文件更改用户组 的所有者
-
-
chown -R参数 是用于改变一个目录及其下所有文件(和子目录)的所有权设置
-
sudo chown -R jinqi test/ 给test目录及其里面的文件 改为jinqi用户
-
-
chgrp是一个单独用于设置文件的属组 chgrp和chown一样 也可以使用-R参数 递归对一个目录实施设置
-
sudo chgrp workgroup test1
-
改变文件权限:chmod
-
chmod用于改变一个文件的权限,这个命令使用“用户组+/-权限”的表述方式来增加/删除相应的权限。具体来说用户组包括了文件属主(u)、文件属组(g)、其他人(o)和所有人(a),而权限则包括了读取(r)、写入(w)、和执行(x)。例如下面这条命令增加了属主对文件test的执行权限。
-
sudo chmod u+r+w+x test1 指给test1 的属主增加了 读、写、执行的权限
-
-
chmod可以用a同时指定所有的3种人。下面这条命令给test2 所有人增加执行权限x
-
sudo chmod a+x test2
-
-
还可以通过“用户组=权限”的规则直接设置文件权限。同样应用于文件test1
-
sudo chmod go=x,u=r test1 这条命令指的是 给test1 文件赋予属组和其他人的执行权限。 属主 读取权限
-
-
最后一条常用规则是“用户组1=用户组2”,用于将用户组1 的权限和用户组2 的权限设置为完全相同
-
sudo chmod g=u test1 这条命令指的是。test1文件 用户组g 权限赋予和用户u的权限一样谁在后面 赋予谁的权限
-
建立软链接:ln
-
符号链接(也被称为”软连接“)需要使用带-s参数的ln命令来创建。下面是这个命令最简单的形式
-
sudo ln -s test.txt test 这条命令指的是 给test.txt 创建了一个叫test的软链接
-
-
linux还有一种链接被称为”硬链接“ 。这种链接用于将两个独立的文件联系在一起。硬连接和符号连接本质的不同在于:硬链接是直接引用,而符号连接是通过名称进行引用。使用不带选项的 ln命令建立硬链接
-
sudo ln test.txt test 这条命令指的是 给test.txt 创建了一个叫test的硬链接
-
-
软链接和硬链接区别 在于 软链接相当于windows系统中的快捷方式 删除软链接对源文件没有影响 ,硬链接是和源文件关联的 如果更改硬链接的内容 那么源文件的内容也会改变 但是删除硬链接 不影响源文件。
输出重定向
-
输出重定向用于把程序的输出转移到另一个地方去。
-
ls >~/Desktop/ls_out 这条命令指的是 将ls输出的命令 保存到Desktop下的ls_out文件中,每一行显示一个文件名。
-
如果ls_out文件不存在,那么输出重定向符号“>”会试图建立这个文件。如果ls_out文件已经存在了,那么“>”会删除文件中所有的内容,然后用新内容替代。
-
ls >>~/Desktop/ls_out 这条命令是保留原来ls_out文件中的内容 直接追加新的内容添加到ls_out中
-
输入重定向
-
cat < ls_out
-
cat << ls_out
-
cat << EOF 当遇到EOF是就会结束 迫不及待的打印出来内容
-
cat << END > hello 这条命令指的是 将输入的命令 重定向到hello中
管道
-
管道将“重定向”在向前推进了一步。通过一根竖线“|”,将一条命令的输出连接到另一条命令输入。
-
ls | grep d 这条命令指的是 ls 列出的命令里面 包含d字母的 文件名
-