注意事项:命令区分大小写
一、ls 命令:
就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
PS:Linux命令多个选项可以同时使用。(ls是命令,后面-a是选项)
二、cd 命令:
Change directory,进入某个文件夹。
cd + [文件夹名字] 进入文件夹
拓展命令:pwd命令
pwd (print work directory) 打印当前目录 显示出当前工作目录的绝对路径
拓展命令:tree命令
tree 显示文件和目录由根目录开始的树形结构(后面不加文件夹名显示的就是现在所在的位置)
进入dir文件夹。
上面的路径是相对路径,也可以使用绝对路径。
这里就使用了绝对路径进入了名字为d3的文件夹。
PS:/(斜杠:路径分隔符)在Windows里面路径分隔符是反斜杠 \
cd - 返回上次所在的目录
PS:如果是普通用户那么 /home 就是家目录,如果是root用户 ~ 就是家目录。
cd /home 进入 '/ home' 目录' cd ~ 进入根目录
拓展:
./ 表示当前路径
../ 表示上一个路径
cd .. 返回上一级目录 (斜杠不加也可以) cd ../.. 返回上两级目录
三、touch 命令:
生成一个普通文件。
四、mkdir 命令:
Make Directory,用于创建文件夹。
mkdir -p t1/t2/t3 一次创建一串路径
PS:注意分隔符,mkdir -p /t1 /t2 /t3,这里写就找不到文件夹了。
五、rm 命令:
Remove,删除一个目录中的一个或多个文件或目录,如果没有使用 -r(递归) 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
rm -r 删除目录
rm -rf code 强制删除全文件,不因一一确认 -f 强制删除
rm -rf *.c 强制删除以.c为结尾的文件
PS:只会删除所在路径的匹配文件,不会删除其它目录下的文件。
sudo rm -rf /* 究极删除指令,清空整个电脑上(服务器)包括系统文件的所有文件
!!!PS:Linux没有回收站,删除了就是删除了(虽然还是能恢复,但是麻烦)。rm命令能不用就不用,要用一定要备份。!!!
六、man 命令:
Manuals手册,哪个命令不会用就man一下,就会出现对应命令的说明。
这里man mkdir,后面也有很多选项的解释。(感觉没多大用,网上都有命令的教程)
也可 man man,man自己把手册呼出来。这里要着重了解前三个,可以 man printf,这里printf也库函数。
七、cp 命令:
Copy file, 将源文件复制至目标文件,或将多个源文件复制至目标目录。
-i 提示 -r 复制目录及目录内所有项目 -a 复制的文件与原文件时间一样
八、mv 命令:
Move file,移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,第一个参数可以是多个以空格分隔的文件或目录,然后移动第一个参数指定的多个文件到第二个参数指定的目录中。
重命名
九、cat 命令:
concatenate 连锁,打印文件内容。
cat -n test.txt 打印文件内容,-n 带行号
拓展命令:tac指令
反向打印
十、echo 命令:
打印内容到显示器。
echo "hello world" > file.txt 把内容输入重定向,会覆盖原来的内容,没有文件会新生成一个文件 echo "hello world" > > file.txt 追加重定向,在后面追加内容
十一、more 命令:
功能类似于 cat适合阅读长文本,more 会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。
//在file.txt文件里面写上10000个 字符串
count=0; while [ $count -le 10000 ]; do echo "hello bit ${count}"; let count++; done > file.txt
使用Q退出more指令。
PS:这里如果在阅读文本或者干什么的时候不知道怎么退出来,就使用Ctrl + C,终止前端进程。
拓展:less指令
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
使用D向前翻一页,使用B向后翻一页,使用Q退出less指令。
十二、head 命令:
head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行,加上选项可以打印对应的行数 。
拓展:tail指令:
用于显示指定文件末尾内容,默认10行,不指定文件时,作为输入信息进行处理。常用查看日志文件。
Q:取一个文本第1000-1009行的内容?
A:
这里使用了一个临时文件来去,那么有没有一个不用临时文件的方法呢?
拓展:管道 " | "
这里的意思是直接把内容传输给tail指令。
管道文件,是内存级的文件,不在磁盘上。
拓展:xargs
eXtended ARGuments,接收作为参数。
echo "-l -a -i" | xargs ls 把-l -a -i当成参数给ls来使用。
十三、wc 命令:
Word Count,功能为统计指定的文件中字节数、字数、行数,并将统计结果输出
-c 统计字节数 -l 统计行数 -m 统计字符数 -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
十四、date 命令:
显示或设定系统的日期与时间。
-d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。
PS:这个叫时间戳,是从1970年,1月,1日,0点到现在的秒数。
格式转换:
格式化转换:
十五、cal 命令:
用户显示公历(阳历)日历,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
十六、find 命令 !非常重要!
用于在文件树中查找文件,并作出相应的处理。
-name 按照文件名查找文件
拓展:whereis 命令
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。
十七、which 命令
查看可执行文件的位置。
PS:这里要注意,Linux下命令的本质,就是可执行文件。
拓展:alias
给命令起别名,若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作(退出了别名就失效了)。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。
PS:which指令也能展开原名。
十八、grep 命令:
Global Regular Expression Print,强大的文本搜索命令。
PS:grep大小写敏感
-i 忽略大小写 -v 反向匹配 -r 递归查找文件
也可以用来查找文件或者文件夹
十九、zip/unzip 压缩和打包命令:
zip test.zip *.c 把所有以.c结尾的文件打包进test.zip
unzip test.zip -d ~/dir/t1/t2/t3 把压缩包解压到指定目录
二十、tar 命令:
用来压缩和解压文件。tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成。
PS:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
-c 建立新的压缩文件 -f 指定压缩文件 -x 从压缩包中抽取文件 -t 显示压缩文件中的内容 -z 支持gzip压缩 -v 显示操作过程 tar -czvf cod.taz code
PS:tar是打包,tgz是压缩,注意要有的地方写成 code.tar.tgz
PS:文件太多太大,不要用 -v 查看过程,打印耗费时间。
tar -ztf code.tgz 查看压缩包里面的内容
tar -xzvf code.tgz -C project 解压到指定文件夹
拓展:
面试问题:请问如何查看Linux体系结构,和内核版本?
uname -a 查看体系结构 (x86_64) uname -r 内核版本
英特尔的体系结构:
x8086
x86 (x86_32)
x86_64 (x64)
常用热键:
1、快速两下[Tab],查找命令
2、输入长命令,写一点,按下[Tab],补齐命令。
3、[Ctrl + C ],停止前端
4、[Ctrl + D ],快速退出
5、[Ctrl + R],历史命令,输入命令片段查找。
6、关机:halt,shutdown (云服务器不关机)
7、重启 rebot
历史命令 history:
查看历史输入过的命令。
history > cmd.txt 把历史指令保存到cmd.txt文件中