显示目前的目录:
pwd 显示当前所在目录的绝对路径
列出目录及文件名:
ls [选项] [目录或文件]
选项:
-a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)
例:
ls 列出当前目录下的所有项(横向排列)
ls -l 列出当前目录下的所有项(纵向排列,每一行都有该项的详细信息)
ls -al 列出当前目录下的所有项以及隐藏项(纵向排列,每一行都有该项的详细信息)
切换目录:
cd [相对路径或绝对路径]
例:
cd / 切换到根目录
cd /home/sunb/ 通过绝对路径切换到/home/sunb下
cd .. 切换到上一级目录
cd ../../home/ 通过相对路径切换到/home下
cd 或 cd ~ 切换到当期用户的主目录
创建目录:
mkdir [选项] 目录名称
选项:
-m : 配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p : 帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
例:
mkdir xxx 在当前目录下创建一个xxx文件夹
mkdir xxx/yyy 在已经存在的目录下创建一个yyy文件夹
mkdir -p xxx/test/t1
创建多级目录(如果xxx不存在,那么就创建xxx接着创建test,最后创建t1)
删除空目录:
rmdir [-p] 目录名称
选项:
-p :连同上一级『空的』目录也一起删除
例:
rmdir xxx/yyy 删除当前目录下的xxx目录下的yyy文件夹(yyy必须为空目录)
rmdir -p xxx/yyy/zzz
优先删除zzz目录。删除zzz后,如果yyy此时为空,则接着删除yyy目录。删除yyy后,
如果xxx此时为空,则接着删除xxx目录。
创建文件:
touch [选项] 文件名称
选项:
touch命令有两个作用
1.创建空文件
2.修改文件或者目录的时间属性。
在创建文件时,基本不需要使用它的选项,关于它的第二个作用可以参考
...
例:
touch aaa.txt 在当前目录下创建一个aaa.txt文件
(在创建前,如果此文件不存在,才会创建新的文件)
复制文件或目录:
cp [选项] 来源地 目标地
选项:
-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r:递归持续复制,用於目录的复制行为;(常用)
例:
cp xxx/aaa.txt yyy/y1 将xxx目录下的aaa.txt复制到yyy/y1目录下
cp -r xxx/ /tmp 将xxx目录及其内容复制到/tmp下
cp -r xxx/* /tmp 将xxx目录下的内容复制到/tmp下
cp -r xxx/ /tmp 将xxx目录及其内容复制到/tmp下,并强制覆盖已存在的相同的内容。
移除文件或目录:
rm [选项] 文件或目录
选项:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
例:
rm aaa.txt 删除当前目录下的aaa.txt文件
rm -f aaa.txt 在删除当前目录下的aaa.txt文件时,不提示确认删除
rm -rf xxx/test
删除xxx目录下的test文件夹及test里面的内容,并且不提示确认删除
(删除时会先删除指定目录下的内容,最后再删除指定目录)
rm -rf xxx/* 删除xxx目录下的所有内容
移动文件与目录,或修改名称:
mv [选项] 来源地 目标地
选项:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
例:
mv aaa.txt a.txt 将在当前目录下的aaa.txt文件名修改成a.txt
mv xxx/* /tmp/test 将xxx目录下的内容移动到/tmp/test目录下
mv xxx/ /tmp/test 将xxx目录及其内容移动到/tmp/test目录下
查看文件内容:
1. cat [选项] 文件 由第一行开始显示文件内容,只能浏览不能修改
选项:
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-v :列出一些看不出来的特殊字符
例:
cat -b xxx/a.txt 查看a.txt文件,并列出行号(会将文件的全部
内容展示出来,当文件内容较多时查看不方便)
cat -n xxx/a.txt | more
通过与more命令联合使用,实现分页查看,空行建翻页,回车键翻行
2. more 文件
使用方法:
more命令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页
显示文本文件的内容。它内置了若干快捷键,如下
空格键(space) 向下翻一页
回车键(Enter) 向下翻一行
q 离开 more ,不再显示该文件内容。
Ctrl+F 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
例:
more xxx/aa.txt 查看aa.txt
3. less 文件
使用方法:
less命令用来分屏查看文件内容,它的功能与more命令类似,
但是比它更加强大,支持各种显示终端。less命令在显示文件内容时,
并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,
对于显示大型文件具有较高的效率。它内置了若干快捷键,如下
空格键(space) 向下翻动一页
回车键(Enter) 向下翻一行
[pagedown] 向下翻动一页
[pageup] 向上翻动一页;
/字符串 向下搜寻『字符串』,n:向下查找;N:向上查找;
?字符串 向上搜寻『字符串』,n:向上查找;N:向下查找;
q 离开 less 这个程序
例:
less xxx/aa.txt 查看aa.txt
4. head [选项 数字] 文件
选项:
-n :后面接数字,代表显示几行的意思
例:
head xxx/aa.txt
显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
head -n 20 xxx/aa.txt
显示文件的开头前20行的内容。
5. tail [选项 数字] 文件
选项:
-n :后面接数字,代表显示几行的意思
-f :实时侦测该文档的所有更新,要等到按下[ctrl+c]才会结束tail的侦测
例:
tail xxx/aa.txt
显示文件的结尾部分内容,默认情况下显示文件的后10行内容
tail -n 20 xxx/aa.txt
显示aa.txt的结尾后20行的内容。
tail -f xxx/aa.txt
当文件里的内容追加更新时,实时显示更新的内容
(特别常用的命令,常用来查看日志)
添加文件内容:
1. 查询到的内容 > 文件
使用方法:
>命令是输出重定向,将前面输出的内容覆盖后面文件原来的内容,
如果后面的文件不存在,则会先创建文件,再写入内容
例:
ls -l > xxx/aa.txt
将ls -l查询出的内容输入到aa.txt内,如果aa.txt存在内容,会将内容进行覆盖
cat xxx/aa.txt > /tmp/test/t.txt
将cat xxx/aa.txt查询出的内容输入到/tmp/test/t.txt内,
如果t.txt存在内容,会将内容进行覆盖
echo "hello world" > xxx/aa.txt
将echo命令输出的内容输入到aa.txt内,如果aa.txt存在内容,会将内容进行覆盖
2. 查询到的内容 >> 文件
使用方法:
>>命令是输出追加,将前面输出的内容追加到后面的文件中,
如果后面的文件不存在,则会先创建文件,再写入内容
例:
ls -l >> xxx/aa.txt
将ls -l查询出的内容输入到aa.txt内,如果aa.txt存在内容,则在其后进行追加
cat xxx/aa.txt >> /tmp/test/t.txt
将cat xxx/aa.txt查询出的内容输入到/tmp/test/t.txt内,
如果t.txt存在内容,则在其后进行追加
创建文件或目录的软连接:
ln [选项] [原文件或目录] [软链接名]
说明:
ln命令用来为文件创建连接,连接类型分为硬连接和符号连接两种,
默认的连接类型是硬连接。如果要创建符号连接必须使用"-s"选项。
类似于windows里的快捷方式,主要存放了链接其他文件的路径。
比较常用的是符号连接,因为其更灵活。
选项:
-s :对源文件建立符号连接,而非硬连接;
例:
ln -s xxx/aa.txt myaa 在当前目录下为xxx/aa.txt创建一个软连接
ln -s xxx/test mylinkdir 在当前目录下为xxx/test创建一个软连接
补充:
在删除目录的软连接时使用 rm -rf mylinkdir,在软连接后不要加“/”
输出内容到控制台:
echo [选项] [输出内容]
使用方法:
1.在shell中打印shell变量的值,或者直接输出指定的字符串。
2.在终端下打印内容。
查看历史执行命令:
history [数字]
例:
history 显示所有的历史命令
history 10 显示最近执行过的10个命令
!451 执行history编号为451的命令