前言
最近一段时间学习了Linux探索之旅的全部内容,文章写得详细,易懂,特别适合像我这样的初级学者,所以链接推荐给大家!由于相关命令比较多,内容也丰富,所以我将把我的学习心得,及一些常用的命令做下总结,放到我的个人分类------Linux学习笔记中,以便后续参考,温故而知新。
文件相关操作
先上图,下图为Linux的目录结构,图片摘自Linux探索之旅第二部分第三课
Linux目录结构
可以看到Linux下所有目录都从属于一个“/”目录,这个目录就是传说中的根目录,有且只有一个,在一个用户登录到某个Linux操作系统(我这里用的是Ubuntu)中后,当打开Terminal(终端)时,默认会来到“/home/用户名”的目录下(记住这个概念,虽然很基础,但是很重要,只有知道你在哪,才能准确的定位你要去的地方(目录)),所有的操作命令都从这里开始!
-
pwd (Print Working Directory):显示当前目录的路径
用法:直接输入pwd
,如下图(这也就告诉我们,现在所处的位置是在/home/wuqz):
-
which:获取命令的可执行文件的位置
用法:which 命令,如which pwd
-
ls:列出文件和目录
用法:在某一目录下直接输入ls
命令(可以不带参数),其中蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其他文件
常用参数:-a
(显示所有文件和目录,包括隐藏的),-l
(详细列表),-h
(以Ko,Mo,Go的形式显示文件大小),-t
(按文件最近一次修改时间排序)
当然上述参数可以合起来使用,如ls -alht
-
cd:切换目录
用法:cd 相对路径or绝对路径
cd /
切换到根目录下
cd
回到~目录下,即/home/wuqz(我这里的用户是wuqz)
cd ..
返回上一级
cd ../..
返回上上一级 -
cat:一次性显示文件的所有内容(适合处理小文件)
用法:cat 文件名
常用参数:-n
(在显示的文件内容上加上行号) -
less:分页显示文件内容
用法:less 文件名
常用快捷键:
空格键:文件内容读取下一个终端屏幕的行数(下一页)
b键:后退一页
回车键:文件内容读取下一行
y键:后退一行
q键:停止读取文件
/(斜杠):进入搜索模式,只要在斜杠后面输入你要搜索的文字,按下回车键,就会把所有符合的结果都标识出来。要在搜索所得结果中跳转,可以按n键(跳到下一个符合项目),N键(shift键+n。跳到上一个符合项目) -
head:显示文件开头
用法:head 文件名
(默认显示文件的头10行)
常用参数:head -n 5 文件名
(显示文件的头5行) -
tail:显示文件结尾
用法:tail 文件名
(默认显示文件的尾10行)
常用参数:-n 5(or 其他数字)
(显示文件尾5行),-f
(实时追踪文件的更新,默认每过1秒检查文件是否有新更新),-s 5(or 其他数字)
(指定每隔多少秒检查一次文件更新) -
touch:创建一个空白文件
用法:touch filename1 filename2...
(创建一个或多个空白文件) -
mkdir(make directory):创建一个目录
用法:mkdir catalog1 catalog2...
(创建一个或多个目录)
常用参数:mkdir -p one/two/three
(递归创建目录结构) -
cp:拷贝文件或目录
用法:cp new_file new_file_copy
(复制文件new_file,到副本new_file_copy),
cp new_file one/
(复制文件到指定目录下)
cp new_file one/new_file_copy
(复制文件到指定目录下,并将文件重命名为new_file_copy)
cp -R catalog new_catalog(or -r)
(拷贝目录)
cp *.txt catalog
(将当前目录下的所有txt文件拷贝到catalog目录下) -
mv:移动文件
用法:类似于cp命令 -
rm:删除文件或目录
用法:rm file1 file2...
删除一个或多个文件或者目录
常用参数:rm -i filename
(询问是否删除filename(y/n))
rm -f filename
(不询问,强制删除)
rm -r catalog
(递归删除,删除目录)
rm -rf /* 或者 rm -rf /
删除整个根目录 !!! -
ln:创建链接
用法:ln file1 file2
(创建file1的一个硬链接file2,他们指向相同的inode,删除一个,不影响另一个),如下图,图片来自Linux探索之旅 | 第二部分第四课:
ln -s file1 file2
(创建了file1的软链接file2,他们拥有不同的inode,删除file2不会影响file1,但是删除file1,file2就会成为“死链接”,没有指向!!!),如下图,图片来自Linux探索之旅 | 第二部分第四课:
-
chmod:修改访问权限
权限 | 数字 |
---|---|
r | 4 |
w | 2 |
x | 1 |
组合形式:
权限 | 数字 | 计算 |
---|---|---|
- - - | 0 | 0 + 0 + 0 |
r - - | 4 | 4 + 0 + 0 |
- w - | 2 | 0 + 2 + 0 |
- - x | 1 | 0 + 0 + 1 |
r w - | 6 | 4 + 2 + 0 |
- w x | 3 | 0 + 2 + 1 |
r - x | 5 | 4 + 0 + 1 |
r w x | 7 | 4 + 2 + 1 |
如上图所示可以根据具体情况使用chmod命令修改文件的权限
用法:chmod 777(or other) 目录或文件
(将该目录或文件修改权限为:所有者、组群用户、其他用户可读、可写、可执行)
参数:- R
(递归修改文件访问权限)
- find:查找文件(可以使用通配符)
用法:find 《何处》《何物》《做什么》
参数:find -name "xxx"
(按名字查找xxx文件)
find 目录 -name "xxx"
(在该目录下按名字查找xxx文件)
find ~/Photos -name "*.jpg" -printf "%p - %u\n"
(格式化打印查找结果)%p:文件名(路径) -:分隔短横 %u :文件的所有者 \n:用于换行
find -name "*.jpg" -delete
(删除查找到的文件)
find -name "*.jpg" -exec(or -ok) 命令;
(对查找到的文件执行某命令,-ok会对执行的操作做确认提示)
安装软件的方法:
方法1:apt-get:软件包管理(使用这个命令的前提是软件包包含在软件库中)
用法:sudo apt-get update
(软件包缓存的更新)
sudo apt-get install xxx
(安装软件包,xxx对应软件包的名字),有时候在执行这个命令之后会出现没有找到xxx包的提示,说明你的软件库中没有这个xxx包,可以尝试执行sudo apt-get update
来更新下软件包缓存,再install,非常方便,一步到位!
方法2:当我们要找的软件不在Ubuntu的软件仓库中时,我们可以试试去软件的官方网站找后缀是.deb(deb是Debian的缩写)的安装包,下载好之后双击安装包或者执行sudo dpkg -i xxxx.deb
来安装。
方法3:如果软件并没有包含在软件仓库中,那么我们只能手动来安装了,也就是只能下载软件的源代码,编译以生成可执行文件
步骤:
- 从网上下载程序的源代码(通常被打包压缩为 .tar.gz 的格式)
- 解压压缩包(
tar zxvf xxx.tar.gz
)(解压命令后续总结里写) - 运行解压之后的文件夹里的configure文件: ./configure
- 运行make来编译
- 运行sudo make install完成安装
总结
以上是我对Linux探索之旅第二章部分的总结笔记,整理的都是常用命令,其他命令我也会时常回看博客,Linux命令查询,这个网站可以查询相关命令的用法,如果忘记命令怎么用,命令的参数有哪些,可以到这里一探究竟。
上述总结纯属个人学习笔记,方便自己温故而知新,如有表述不严谨甚至错误的地方,还望各位朋友不吝赐教!如能同各位对Linux感兴趣的朋友共同学习、进步,实属一桩美事!