ls 查看当前路径下的文件或文件夹
pwd 查看当前路径,例如/home/python 表示根目录下的home文件夹下的python文件夹
clear清空屏幕
/斜杠
反斜杠
|竖杠
_下划线
-横杠
cd 路径 表示切换目录
touch 文件名 创建文件
mkdir 文件夹名 创建文件夹
makir a/b/c -p 递归创建文件夹,会自动帮你创建依赖的没有创建的文件夹
rmdir c 删除c文件夹,只能删除空文件夹(不推荐)
rm 文件名 删除文件
rm -r 能删除文件或文件夹(不管是否为空),文件夹里有文件夹或文件也能递归删,会提示是否删除
rm -rf 能删除文件或文件夹(不管是否为空),文件夹里有文件夹或文件也能递归删,不提示
rm ./* 可以简写成rm * 删除当前路径下的所有文件,.表示当前目录,*表示所有文件
rm *.txt 删除当前路径下的所有txt文件
ls / 显示根目录下的所有文件
.开头的文件就是隐藏文件
ls -a显示隐藏文件
touch .文件名 创建隐藏文件
ls -l也可以简写成ll 以列表的形式显示当前路径下文件(或文件夹不包括隐藏文件)的详细信息
ls -l -h也可以简写成ll -h -h意思是显示合适的单位,这段命令的意思是以列表的形式以人能识别的形式显示当前路径下文件的详细信息,显示一个合适的单位,是自动计算的,如K、M、G
ls -l -a -h 可以简化成ll -ah,-a表示显示所有文件,这条命令是在上条命令上加上显示隐藏文件,参数的顺序没有要求,-l和-a哪个在前哪个在后不影响显示结果
ll -ah /bin这个显示的是/bin下的所有文件(包括隐藏文件)的详细信息显示单位大小,这个参数顺序也没有要求,ll /bin -ah是一样的结果
查看帮助文档
ls --help查看ls的帮助文档
man ls查看帮助文档
tab自动补全
gedit 文件名 编辑文件(不推荐)
cat 文件名 显示文件的内容,一次全部显示完
cat 文件一 文件二 依次显示文件的内容
重定向,把原本显示在终端屏幕上的内容写到文件里
cat 文件一 文件二 > xxx.txt 功能是合并两个文件的内容到一个新的文件
ls > xxx.txt 如果没有xxx.txt,会创建一个文件,然后把ls的命令写到xxx.txt中,如果有文件,会覆盖原来的文件内容
ls >> xxx.txt 如果没有xxx.txt,会创建一个文件,然后把ls的命令写到xxx.txt中,如果有文件,会在原来文件之后写入内容
cat > 文件名 将内容写入文件,写完后先按回车,然后ctrl+c退出,不然当前行就不会写入文件中,没有文件就创建文件,有文件就保存
cat >> 文件名 将内容写入文件,写完后先按回车,然后ctrl+c退出,不然当前行就不会写入文件中,ctrl+c退出,没有文件就创建文件,有文件就追加写
举个例子
#当前行ctrl+c导致当前行没有写入文件中,打印为空
shawn@ubuntu:~/xiawan$ cat > a.txt haha^C shawn@ubuntu:~/xiawan$ cat a.txt
#当前行写完后回车再ctrl+c就把之前的那行写入到文件中了,打印出了结果
shawn@ubuntu:~/xiawan$ cat > a.txt haha ^C shawn@ubuntu:~/xiawan$ cat a.txt haha
more 文件名 显示文件内容,一部分一部分显示,f是下一页,b是上一页,q是退出,f和b有时候会失效,不知道为啥,就回车一行一行慢慢看了
history查看历史命令
!5 执行第5条命令,以此类推
通配符,*表示0个或多个,?表示一个,[12345]表示括号里任何一个数,也可以简写成[1-5]
ls 2* 显示当前路径以2开头的文件
ls 2? 显示当前路径以2开头后面跟一个字符的文件
管道,把管道之前的命令先存起来,然后用管道之后的命令执行管道里的保存的东西
ll -ah /bin | more 把/bin目录下所有文件的详细信息存到管道,然后more取出并显示出来,一般我们显示很多行文件的命令时是先把命令的信息写到文件,然后再用more显示,但是这样太麻烦,用了管道之后就很方便,还不用生成临时文件
指定多个命令用分号隔开(不推荐)
ls;ls -ah
相对路径是从当前路径开始算起的路径
绝对路径是从根目录开始算起的路径
路径离根目录近用绝对路径,离当前路径近用相对路径,如果路径名超级长,用绝对路径
cd /root/ cd到某个路径下后按两次tab键可以显示/root下的所有文件,这个有毒,显示2000多个文件
cd ./A 切换到当前路径的A文件夹下
cd .. 切换到当前路径的上层路径
cd ../.. 切换到当前路径的上层路径的上层路径
cd - 切换到上一次的路径,记录最近一次
cd~ 切换到家目录
ctrl+c 不执行命令,换一行
yum -y install tree 安装tree命令
mv 原文件(文件夹)名 新文件夹名 如果新文件夹不存在,重命名文件(文件夹)名,如果存在就把文件(文件夹)放入新文件夹中
ln -s 1.txt s.txt 软连接,类似windows中的快捷键,为1.txt创建软连接s.txt,往1.txt文件写入内容,cat这两个文件都能看到相同的内容,删除1.txt之后,cat s.txt就看不到内容了,软连接是指向文件名,所以硬连接数为1,删除一个连接后硬连接数为0,数据就被释放了
ln 1.txt s.txt 硬连接,在1.txt写入内容,删除1.txt之后,cat s.txt依然能看到内容,硬连接就像新加了一个文件名,指向的是同一个数据,原来有两个硬连接数,删除一个之后还有一个,所以数据还在,硬连接数为0的时候,数据才会删除
用ll 显示硬连接数
grep 'haha' -n a.txt 查找3.txt文件中包含‘zip’的内容,-n表示在文件中的哪一行
grep 'haha' -v -n a.txt 查找3.txt文件中除了包含‘haha’的内容,-n表示在文件中的哪一行,-v表示除了
grep '^haha' -n a.txt 查找3.txt文件中包含‘zip’开头的内容,-n表示在文件中的哪一行,^表示开头
grep 'haha$' -n a.txt 查找3.txt文件中包含‘zip’结尾的内容,-n表示在文件中的哪一行,$表示结尾
cp a.txt A 复制a.txt文件到A文件夹中,如果没有A文件夹则会创建文件,如果A是文件会提示是否覆盖(有时候不提示)
cp B A -r 复制B文件夹到A文件夹中,如果没有A文件夹则会创建文件夹但不执行拷贝操作,如果A是文件会提示无法覆盖(有时候不提示)
vim永久显示行号
打开文件
vim ~/.vimrc
在文件中输入 :set number
保存后就能永久显示行号了