目录
好兄弟们,我要开始我的Linux旅程了
首先,记录一下Y总语录
在做项目期间,可能会用到一个语言的一小部分内容,但是如果你按照课本走的话可能要多学很多,所以一般来说,成熟的文档会有一个入门教学,跟着入门教学走就可以。然后后面边写边查
在学Linux期间,建议手敲,因为Linux要练手速
首先嘛,Linux要以实用为主,所以不推荐将所有的用法全都背下来,只需要记住几个常用的就可以了,其他的在用的时候自己查,比如ls操作中,想要用到-a之类的,查–help就有,或者查man ls也行
这是本章内容
Linux其实就是一个跟windows差不多的一个操作系统,打开了终端控制台其实就跟打开了电脑差不多,只不过你的所有操作都要在这个终端控制台来完成了
Linux根目录叫 /
bin中存放一些,可用的可执行命令
etc配置文件
lib 头文件,各种安装包头文件
这里要会区分相对路径和绝对路径
绝对路径:是指从根目录开始的路径
相对路径:从当前文件夹开始(开头是下一个文件夹)
区别方式:看看开头是不是/
./代表当前目录
…/代表回到上一个目录
~/代表家目录
比如/home/acs/这就是个家目录,其中acs是个用户,它与~/相等
家目录:home下用户对应的目录就是家目录
绝对路径:路径的写法一定是由根目录 / 写起的,例如 /usr/local/mysql
相对路径:路径的写法不是由根目录 / 写起的,例如 首先用户进入到 /home,然后再进入到test,执行的命令为 “#cd /home,#cd test”。此时用户所在的路径为 /home/test。第一个cd命令后紧跟/home,前面有斜杠;而第二个cd命令后紧跟test,前面没有斜杠。这个test是相对于/home目录来讲的,所以称为相对路径。
home下边用户的文件夹就是家目录
常用命令
接下来介绍一些常用命令
快捷键
(1) ctrl c: 取消命令,并且换行,杀掉某一个程序,也就是关掉某一个进程,向我们当前正在运行的进程传一个终止信号,会直接把这个进程关掉。如果打着打着指令,不想用这个指令了,可以ctrl c然后换一行重新打。其实是换行并清空,也能起到清空的作用
(2) ctrl u: 清空本行命令
(3)
tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项,打出前缀然后按tab键。还能补全文件路径。如果系统发现只有一种方案的话,就会补全出来。如果不止一个就不会补全,这时候可以快速按两下tab键,然后就会展示出可以的选项。
方向键里面的上也很常用,上可以直接把你上一条命令写出来,再上的话,就是把再上一条命令写出来
ls
(4) ls: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件
有很多参数,如果想看每一个文件的详细信息的话,就输入ls -l,
在任何命令后面加上h,就使得输出人性化,比如大小为1024,就输出1K,这里的详细信息指的是,文件大小,创建时间等
有很多文件,以.(点)开头,那么这些文件可能是隐藏的,这时候,用ls -a,这个是显示所有文件,包括隐藏文件。
ls-A就是不显示当前目录(.)和上层目录(…)。如果想让目录显示出来的话,还可以改一下文件名字。 ll=ls -la。参数顺序可变,ls -la跟 ls -al没有什么区别
pwd
(5) pwd: 显示当前路径, 看一下自己在什么地方
cd
(6) cd XXX: 进入XXX目录下, cd … 返回上层目录
如果想切换一个文件目录的话,或者返回上一层目录
cd 后面可以加任意一个路径,可以是相对路径也可以是绝对路径,cd后不加参数默认返回家目录
cd… 返回上一层目录
返回上一个呆过的目录:cd -,不过只能返回一个啊,如果再来用两个的话,等于没用,一直用相当于两个地方来回切(cd .- 和cd -应该没区别)
cp
(7) cp XXX YYY:
将XXX文件复制成YYY,XXX和YYY可以是一个路径,比如…/dir_c/a.txt,表示上层目录下的dir_c文件夹下的文件a.txt
如cp a/tmp.txt b(就把路径写一下)把a下面的tmp.txt文件复制到b中去
cp还兼带重命名的功能,比如cp a/tmp.txt b/tmp2.txt 也就是把a中tmp.txt文件,复制到b中,并重命名为tmp2.txt
故cp的作用应该是,复制+粘贴+重命名
cp a b -r 把a整个文件夹复制到b中(也就是复制到b的路径下面)
如果不想把a整个复制到b中,反而是想在本目录下新建一个跟a一样的目录,就用cp a c -r,这就是把a重新复制一下到当前目录,并且重命名为c
mkdir
AC Terminal的下划线可能因为太靠下而显示不出来
文件名中间有空格的话,比如叫“y c”,可以用y\ c来表示,用了转义字符
(8) mkdir XXX: 创建目录XXX
(y总说是支持什么表达式,写个就代表里面所有的文件,比如-r)
这里可以跟一个绝对路径,也可以跟一个相对路径
mkdir a(相对路径)
mkdir /home/acs/a/b 在a下面创建一个b,绝对路径
mkdir --h 或者mkdir --help就可以看到mkdir的所有参数
mkdir a/b/c -p就是创建一连串的文件夹,a中有b,b中有c,如果一开始就有这些,就直接跳过,也不会报错
history
输入 history,会显示你所有的历史中的指令
rm
(9) rm XXX: 删除普通文件; rm XXX -r: 删除文件夹
这里的删除是没有回收站的
如果有两个文件,比如tmp.txt和tmp2.txt都想删除
就写rm tmp.txt tmp2.txt就直接删除了两个
这里也支持正则表达式,如果文件夹中只有上诉两个文件,想删除所有的(也就是删除俩),就直接写,rm .txt
还有一个操作-f,有些文件是被保护的文件不让删,加个-f就能删了,一般来说用不到,一般也不要加-f,加了之后可能会造成一些无法挽回的局面
如果我们只想删除a里面的所有东西,而不想删除a这个文件夹,就写rm a/ 就好,a/*就是a里面所有的东西
(-r好像是递归的意思)
touch与mkdir区别
touch 是创建一个文件,创建一个文件夹用mkdir,*就表示这个文件夹中所有的东西,文件夹可以进入,文件你进不去
mv
(10) mv XXX YYY: 将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径;重命名也是用这个命令
mv 这个指令是一个剪切+粘贴,
也可以理解为拖拽,把一个文件夹拖拽到另一个文件夹里面,还兼具一个重命名的功能
mv tmp.txt tmp2.txt 这就是一个重命名
mv b/tep.txt a/tmp2.txt 这就是一个重命名+移动,把文件从b移动到a并且重命名
mv a/tmp.txt b/这就是只把文件移动到b文件夹
touch
(11) touch XXX: 创建一个文件
cat
(12) cat XXX: 展示文件XXX中的内容
但是不能看文件夹,只能看文件
rm * //删掉这个文件夹下的所有东西
还有目录,所以+ -r 就全删完了
复制粘贴
(13) 复制文本
windows/Linux下:Ctrl + insert,Mac下:command + c
(14) 粘贴文本
windows/Linux下:Shift + insert,Mac下:command + v