本博文仅作为个人
复习使用, 并没有清楚的描述问题的细节, 主要是为了构建Linux知识体系,熟悉Linux简单操作.
目录结构
从Windows系统向Linux系统转变的时候,最不是习惯的就是目录结构,如果Windows不分区,全部东西都放C盘那感觉跟Linux也差不多(手动狗头)
目录名 | 说明 |
---|---|
/ | 根目录;有且只有一个根目录,Linux目录结构是一个树的结构,所有的东西都从这里开始。 |
/home | 用户的主目录, 每个用户都有一个自己的目录, 一般都是以用户的账号命名, 主要存放个人数据。 |
/bin | 存放最经常使用命令, 如: cat, cp, ls, mkdir, rm等。 |
/sbin | 存放管理员的系统管理指令, 如: shutdown, reboot, 命令通常只有管理员才可以运行 |
/usr | 包含绝大多数的(多)用户工具和应用程序。 |
/usr/bin | 下面的都是系统预装的可执行程序,会随着系统升级而改变。 |
/usr/local/bin | 目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。 |
/usr/sbin | 存放超级用户才能使用的应用程序 |
/boot | Linux的内核及引导系统程序所需要的文件目录 |
/tmp | 这个目录存放一些临时文件. 对于某些程序来说, 有些文件被用了一次两次之后,就不会再被用到,像这样的文件就放在这里. 有些Linux系统会定期自动对这个目录进行清理. |
/opt | 这是给主机额外安装软件所摆放的目录。 |
/etc | 这个目录用来存放所有的系统管理所需要的配置文件和子目录. |
常见命令
密码的修改与创建用户
passwd
—— password 命令,通过这个命令来修改当前用户密码。useradd
这个命令来添加一个新的用户,注意,添加完会直接返回,需要配合passwd命令,来给这个新用户设置密码。
万能的帮助命令
man
—— manual 命令
Linux命令太多,有时候我们记不住怎么办,这是就需要一个男人。man命令的作用就是告诉你这个命令的详情。
在man命令中,我们用空格,d,b以及上下箭头键来实现上下翻页。按下 h 键会显示所有有用的键盘快捷键和一般用法。
在man命令中,输入/
之后跟想要搜索的内容进行搜索,按n或shift+n来匹配下一个或上一个。
man命令分为9章,我们可以通过man + 对应章节数字
来进入对应章节。
序号 | 章节名称 | 说明 |
---|---|---|
1 | 用户命令 | 可由任何人启动的 |
2 | 系统调用 | 即由内核提供的函数 |
3 | 例程 | 即库函数 |
4 | 设备 | 即/dev目录下的特殊文件 |
5 | 文件格式描述 | 例如/etc/passwd |
6 | 游戏 | 与游戏相关的 |
7 | 杂项 | 例如宏命令包、惯例等 |
8 | 系统管理员工具 | 只能由root启动 |
9 | 其他(Linux特定的) | 用来存放内核例行程序的文档 |
help
再讲help命令之前,我们首先的搞清楚一个概念。Linux的内建命令和外部命令,什么是内建命令呢。正所谓内建命令就是系统启动时就存在内存当中。所以执行效率高。而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存,是磁盘中的可执行程序。
一般用type
命令查看该命令是内建命令还是外部命令。hele 内建命令
来查看帮助,这种形式只支持内建命令,而绝大多数都支持命令 --help
来获取帮助。
info
info命令与man命令类似。但是编排上要比man命令更好。也更加的完整
cheat
号称是更好用的帮助命令,它会通过简单的实例告诉你一个命令的具体用法。
具体可以看cheat的官网
文件管理
目录查看pwd
—— print name of current/working directory 显示当前目录名称cd
—— change the shell working directory 更改当前目录操作
cd常见用法:
cd+目录路径
进入指定目录cd + -
返回上一次工作目录cd + ~
进入当前用户的家目录cd + ..
返回上一层目录
ls
—— list directory contents 查看当前目录下的文件
ls常用参数:
ls -a
全部(all)列举目录中的全部文件,包括隐藏文件(.filename)。ls -l 或者 ll
列举目录内容的细节。ls -F
文件类型(File type)。在每一个列举项目之后添加一个符号。这些符号包括:/ 表明是一个目录;@ 表明是到其它文件的符号链接;* 表明是一个可执行文件。ls -r
逆向(reverse)。从后向前地列举目录中的内容。ls -R
递归(recursive)。该选项递归地列举所有目录(在当前目录之下)的内容。ls -S
大小(size)。按文件大小排序。
目录的创建与删除mkdir
—— 用来创建指定名称的目录
mkdir -p
parents 若所建立的上层目录目前尚未建立,则会一并建立上层目录;
rm
—— 删除(remove)
rm -d
directory删除目录,目录中没有内容。rm -f
force略过不存在的文件,不显示任何信息,强制删除。rm -r/R
recursive同时删除该目录下的所有目录层。
目录的复制、移动和重命名cp
—— 复制(copy)
cp -i
询问,如果目标文件已经存在,则会询问是否覆盖。cp -l
:把目标文件建立为源文件的硬链接文件,而不是复制源文件。cp -s
:把目标文件建立为源文件的软链接文件,而不是复制源文件。cp -p
:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)。cp -r
:递归复制,用于复制目录。
move
—— 移动move(改名)
move -b
若需覆盖文件,则覆盖前先行备份。move -f
force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;move -i
若目标文件 (destination) 已经存在时,就会询问是否覆盖!move -u
若目标文件已经存在,且 source 比较新,才会更新(update)
也可以用move来重命名,如果目标文件和源文件在同一目录下,就可以用move来重命名move 目标文件 新文件名
。
文件查看tail
—— 用于显示指定文件末尾内容,一般用于查看日志。
tail -f
实时监听文件变化。tail -n <number>
显示行数。
head
—— 与tail相对应,用于显示指定文件开头内容。
head -n <number>
显示行数。
more
和 less
这两个命令相似,都是用来查看内容比较多的文件。more命令,可以按Enter键向下逐行滚动查看,按空格键可以向下翻一屏,按b键向上翻一屏,按q键退出并返回原来的命令环境。more不能逐行向上滚动查看,而less可以,我们可以把less看做more的升级版,正所谓less is more。less可以按键盘上下方向键显示上下内容,less不必读整个文件,加载速度会比more更快。less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容。less可以用/和?进行向下搜索和向上搜索
cat
—— 查看文件内容
cat file1 file > file
可以将多个文件合并成一个文件。
文件创建touch
—— 一是可以来创建文件,二是可以用来修改时间戳。
touch 文件名
如果没有文件将创建一个文件。touch -d
使用指定的日期时间,而非现在的时间。touch -t
与-d功能相同,只是格式不同。touch -r
把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
软件安装
Linux有两种,一种是rpm是CentOS体系,一种是deb是Ubuntu体系。
分别用 rpm -i
和 dpkg -i
来进行安装。
查看已安装的软件列表用 rpm -qa
和 dpkg -l
。
而删除软件用 rpm -e
和 dpkg -r
命令。
Linux也有自己的软件管家,CentOS下面是yum,Ubuntu下是apt-get
文件的打包与压缩
tar
——打包,将所有文件整合成一个文件,方便拷贝或者移动,但并不会压缩。
tar -c
建立打包tar -x
解压tar -t
查看内容tar -r
向压缩归档文件末尾追加文件tar -u
更新原压缩包中的文件
在Linux下可以用gzip
和bzip2
两个主要命令对文件进行压缩。一般都会和tar命令组合使用
bzip2的压缩比率要比gzip的高。
-z
用gzip的压缩方式-j
用bz2的压缩方式-v
显示所有过程
切记 -f
是必须的
-f
使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
文件与命令的查找
find
最强大的查找命令,可以用来查找任何文件。find <指定目录> <指定条件> <指定动作>
- <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。
- <指定条件>: 所要搜索的文件的特征。
- <指定动作>: 对搜索结果进行特定的处理。
locate
它要比find搜索快得多,因为它不搜索任何目录,而去搜索一个数据库,这个数据库中含有本地所有文件信息。但是这个数据库每天更新一次会导致查不到最新变动过的文件。要避免这个问题,可以在使用locate之前先使用 updatedb
命令来手动更新数据库。
whereis
该命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
which
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。