linux 笔记.docx
《linux 笔记.docx》由会员分享,可在线阅读,更多相关《linux 笔记.docx(18页珍藏版)》请在冰豆网上搜索。
![linux 笔记.docx](https://file1.bdocx.com/fileroot1/2023-5/20/efb5a2c7-5923-4e9a-8c55-4c054e9727c8/efb5a2c7-5923-4e9a-8c55-4c054e9727c81.gif)
linux笔记
Linux
Copy/b(盘符)_名.JPG+_.RAR_名.JPG
第一章
起源:
Linux由芬兰赫尔辛基大学的LinusTorualds创建
Linux特点:
第二章
一、Gnome组成
1面板
2程序菜单
3桌面
4窗口操作快捷键
Alt+Esc向前循环切换窗口;
Ctrl+Alt+D显示/隐藏所有窗口
Alt+Space打开窗口所有菜单
二、常用shell命令
1shell命令简介
Shell是为用户提供了输入命令和参数并可得到命令执行结果的环境
2命令:
Cd
功能:
用于切换目录
格式:
cd[相对路径或绝对路径]
Pwd
功能:
显示目前所在目标
Mkdir
功能:
建立目录
格式:
mkdir[选项][服务名称]
——选项及含义
-m:
对新建目录设置存取权限
-p:
如果建立目录包括不存在的路径则要创建这个目录
-v:
对已经创建的目录输出一个信息
Ls
功能:
显示文件名称、属性等
格式:
ls[选项][文件名]
——选项及含义
-l:
使用较长格式列出信息,如文件的权限,文件大小,最后修改时间,文件的完整名称(文件名+扩展名)
-a:
列出所有文件及子目录,包括以“.“开始的隐藏文件
-p:
对于目录,则显示形式如“home/”的形式,即在目录后加“/”,表示这是一个目录
-s:
根据文件大小排序
Rmdir
功能:
删除空目录
格式:
rmdir[选项]<目录名称>
——选项及含义
-v:
对已经删除的目录给出提示信息
-p:
递归删除目录,当子目录删除后其父目录为空时,也一同被删除
Cp
功能:
复制文件或目录
格式:
cp[选项]<源文件或目录><目标文件或目录>
——选项及含义
-r:
若给出源文件是目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须是目录
-u:
如果来源文件比较新,或者是没有目的的的文件,那么才会进行copy的动作,用于备份
-a:
常在复制目录
-f:
在复制之前删除已经存在的目标文件而不提示
-i:
和-f相反,在覆盖目标文件之前将给出提示要求用户确认,回答“y”,目标文件将被覆盖
-p:
此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
Rm
功能:
删除多个文件或目录
格式:
rm[选项]<文件名>
——选项及含义
-i:
删除时需要使用者确认
-r:
递归删除,非空目录也可删除
-f:
不提示确认信息,强制删除
-v:
显示执行结果
Cal
功能:
显示要求月份的详细列表[月年]
Mv
功能:
移动或更名
格式:
mv[选项]<源文件或目录><目的文件或目录>
——选项及含义
-b:
若需要覆盖文件,则覆盖前先进行备份
-f:
若目标文件或目录与现有的文件或目录重复则直接覆盖现有的文件或目录不进行任何提示
-i:
覆盖前先行询问用户
-u:
在移动文件或目录时,若目标文件或目录已经存在,并且源文件日期比较新,则覆盖更新
-v:
执行时显示详细信息
Date
功能:
用于查看、设置时间日期
格式:
date
——选项及含义
%:
显示
%n:
下一行
%H:
24小时制表示(00~23)
%r:
直接显示时间(12小时制,格式为hh:
mm:
ss)
%T:
直接表示时间(24小时制)
%a:
星期几(Sun–Sat)
%b:
月份(Jan-Dec)
%c:
直接显示日期和时间
%d:
日(0-31)
%D:
直接显示日期(mm/dd/rr)
%m:
月份(01-12)
Uname
功能:
用于显示计算机以及操作系统的相关信息
格式:
uname[选项]
——选项及含义
-a:
显示全部信息
-r:
显示操作系统的发行编号
-s:
显示操作系统名称
-v:
显示操作系统版本
Du
功能:
统计目录或文件所占磁盘空间的大小
格式:
du[选项][文件名]
——选项及含义
-a:
显示全部目录和子目录下的每个文件所占的磁盘空间
-b:
大小用bytes来表示
-c:
显示完毕后再加上总计
-s:
只显示文件或者目录大小的总和
-h:
用容易理解的格式单位表示文件的大小,如K、M、G等
Df
功能:
检查文件系统的磁盘使用情况
格式:
df[选项]
——选项及含义
-a:
显示所有文件系统的磁盘使用情况
-k:
以K字节为单位显示
-h:
用容易理解的格式单位表示文件大小,如K、M、G
Clear
功能:
清屏
Shutdown
功能:
关机
格式:
shutdown[选项]<时间>[警告]
——选项及含义
-k:
不真正关闭系统,只发生警告信息
-r:
关闭后重新启动
-n:
在重新启动和关机之前不作磁盘同步
-f:
快速重新启动,重新启动时不检查所有文件系统
-h:
关机
-c:
取消已经运行的关机命令
Cat,more
功能:
将某个文件的内容显示出来,cat–把文件内容一直打印出来,而more分屏显示——“cat>..”
Su
功能:
在不退出登录的情况下,切换到另一个人的身份
用法:
su–l用户名(如果用户名缺省,则切换到root状态)
Whami,where,which
Whoami:
确认自己身份
Which:
查询该命令所在目录(类似whereis)
Grep
功能:
文本内容收索
History
功能:
用户用过的命令
!
!
功能:
执行最近一次的命令
Tar
功能:
用于打包备份
——选项及含义
C:
输出结果到标准输出设备(一般指荧幕)
F:
强迫写入档案,若目的档案已经存在,则会被覆盖(forece)
V:
将程序执行的讯息印在屏幕上(verbose)
Gzip
功能:
用于压缩或加压文件
格式:
gzip[选项]<加压的文档名>
——选项及含义
-c:
将输出写到标准输出上,并保留原有文档
-d:
加压缩文档解压
-t:
测试检查压缩文档是否完整
Unzip
语法:
unzip[选项]压缩文件名.zip
——选项及含义
-x:
文件列表,解压缩文件,但不包括指定的file文件
-t:
测试文件有无损坏,但不解压
-d:
目录把压缩文件解压到指定目录下
-j:
不重建文本文档目录结构,把所有文件解压到同一目录下
文件系统基础
一、倒置树文件系统
(1)目录树:
通过分支的形状得来的,包括树根,并在树根上,所以叫目录树
(2)文件系统命令
——stat功能:
显示文件系统信息
——touch选项:
-a,–m功能:
创建新文件
——find选项:
-type,-name,-ctime功能:
查找文件
——chmod选项:
-k功能:
添加、删除指派文件或目录的权限
——locat功能:
快速查找文件
——chown功能:
改变文件属性
——chgrp功能:
改变文件组
——wmask功能:
查看、设置权限掩码
——mkfs选项:
-t功能:
创建文件系统
——mkerfs选项:
-j,-b,-i功能:
创建ext2/ext3系统文件
——mount选项:
-t,-o,-a功能:
挂载文件系统
——umount功能:
卸载文件系统
——df选项:
-i,-h,-k,-a功能:
提供硬盘及其分区、其它驱动器在文件系统中的装入位置以及它们所占用的磁盘空间大小等信息
(3)标准的Linux目录结构
1.用户目录
2.临时目录/tmp.
3.配置目录/etc:
通过修改配置文件,可以控制系统的任何方面
4.命令目录/bin和/use/bin
5.命令目录/sbin和/use/sbin:
也是保存命令的目录,为根用户保存命令文件,包括安装和删除硬件,启动和关闭系统以及进行系统维护的命令
(4)Linux四种文件类型
1.普通文件
2.目录文件
3.链接文件
4.特殊文件/dev:
目录(包括所有的外设等)
(5)五个子目录:
/etc、/bin、/dev、/lib、/sbin、
1./dev:
设备文件目录,虚拟文件系统,主要存放所有系统中device的相关信息,不论是使用的或未使用的设备。
只要有可能使用到,就会在/dev中建立一个相对应得设备文件
①/dev/console:
系统控制台,也就是直接和系统连接的监视器
②/dev/hd:
IDE设备文件
③/dev/sd:
SATA、USB、SCSI等设备文件
④/dev/fd:
软驱设备文件
⑤/dev/tty:
虚拟控制台设备文件
⑥/dev/pty:
提供远程虚拟控制台设备文件
⑦/dev/null:
所谓“黑洞”,所有写入该设备的信息都将消失,如当想要将屏幕上的输出信息隐藏起来时,只要将输出信息输入到/dev/null中即可;
2./usr/lib:
存放一些函数库,执行文件及连接文件,特别的是,存放在这里面的文件都是不希望直接被用户或shell脚本所使用的文件
/usr/libexec:
这个目录的文件夹应该都可以放置在/usr/lib下;
/usr/local/lib:
软件相关的函数库
/
根目录root(/),一般建议在根目录下面只有目录,不要直接有文件。
根目录是启动时系统第一个载入的分区,所以,所有启动过程会用到的文件应该都放在这个分区中。
举例来说,/etc、/bin、/dev、/lib、/sbin这5个子目录都应该与根目录连在一起,不可独立成为某个分区。
/bin
/usr/bin
/usr/local/bin
除了/bin之外,/usr/local/bin、/usr/bin也是放置“用户可执行的二进制文件的目录”。
举例来说,ls、mv、rm、mkdir、rmdir、gzip、tar、cat、cp、mount。
/boot
这个目录的主要目的是放置Linux系统启动时用到的文件。
启动会用到Linux的核心文件。
这个目录下面的文件vmlinuz就是Linux核心。
这一点非常重要。
如果引导程序(loader)选择grub,那么这个目录内还有/boot/grub子目录。
/dev
在Linux系统上,任何设备都以文件类型存放在这个目录中。
访问这个目录下面的某个文件,就等于访问某台设备。
设备又分为字符设备(characterdevice),例如,键盘、鼠标等;块设备(blockdevice),例如,硬盘、光盘等。
在此目录下的文件会多出两个属性,分别是主设备号(majordevicenumber)与辅设备号(minordevicenumber)。
系统核心就是通过这两个号码来判断设备的。
重要的文件有/dev/null、/dev/tty[1-6]、/dev/ttyS*、/dev/lp*、/dev/hd*、/dev/sd*等。
/etc
系统主要的设置文件几乎都放在这个目录内,例如,人员的账号密码文件、各种服务的起始文件等。
一般来说,这个目录下的各文件属性是可以让一般用户查看的,但只有root有权修改。
在此目录下的文件几乎都是ASCII的纯文本文件。
不过,FHS建议不要在这个目录中放置可执行文件。
比较重要的文件有:
/etc/inittab、/etc/init.d、/etc/modprobe.conf、/etc/X11、/etc/fstab、/etc/sysconf等。
另外,其下的重要的目录有:
/etc/init.d:
所有服务的默认启动脚本都放在这里,例如要启动或关闭iptables的话:
/etc/init.d/iptablesstart;/etc/init.d/tptablesstop。
/etc/xinetd.d:
这就是超级守护程序(superdaemon)管理的各项服务的设置文件目录。
/etc/X11:
与XWindow有关的各种设置文件都在这里,尤其是xorg.conf或XF86Config这两个XServer的设置文件。
/home
这是系统默认的用户家目录(homedirectory)。
在新增一般用户账号时,默认的用户家目录都会放到这里。
比较重要的是,家目录有两种代号:
~:
表示当前这个用户的家目录;~admin:
则表示admin的家目录。
/lib
/usr/lib
/usr/local/lib
系统使用的函数库的目录。
程序在运行过程中,可能会调用一些额外的参数,这需要函数库的协助。
这些函数库就放在此外。
比较重要的是/lib/modules目录内有核心相关的模块。
/lost+found
系统出现异常,产生错误时,会将一些遗失的片段放于此目录下,通常这个目录会自动出现在某个分区最顶层的目录下。
例如在/disk中加装硬盘,在这个目录下就会自动产生一个这样的目录:
/disk/lost+found
/mnt
/media
这是软盘与光盘的默认载入点:
通常软盘挂在/mnt/floppy下,光盘挂在/mnt/cdrom下,不过也不一定。
随便找一个地方来载入也可以。
另外,当前也规划出另一个/media的目录。
与/mnt有点类似。
/opt
这是给主机额外安装软件所放的目录。
举例来说,FC4使用Fedora团体开发的软件,如果想要自行安装新的KDE桌面软件,可以将该软件安装在这个目录下。
不过,以前的Linux系统中,我们还是习惯放在/usr/local目录下。
/proc
这个目录本身是一个“虚拟文件系统”。
它放置的数据都在内存中,例如系统核心、形成信息、外部设备的状态及网络状态等。
因为这个目录下的数据都在内存中,所以本身不占任何硬盘空间。
比较重要的文件有/proc/cpuinfo、/proc/dma、/proc/interrupts、/proc/ioports、/proc/net/*等。
/root
系统管理员(root)的家目录。
之所以放在这里,是因为我们提过,系统第一个启动就载入的分区/,而我们希望/root能够与/放在同一块分区上。
/sbin
/usr/sbin
/usr/local/sbin
放一些系统管理员才会用到的执行命令,例如:
fdisk、mke2fs、fsck、mkswap、mount等。
与/bin不太一样的地方是,这几个目录是给root系统管理员用的。
但目录下的执行文件可以让一般用户用来“查看”而不能设置。
/srv
一些服务启动之后,这些服务所需要访问的数据目录。
举例来说,WWW服务器需要的网页数据就可以放在/srv/www中。
/tmp
这是让一般用户或者是正在执行的程序临时放置文件的地方。
这个目录的任何人都能访问的,所以需要定期清理。
当然,重要数据不可放在此目录中。
/usr
根据FHS规范的第二屋内容,在/usr目录下,包含系统的主要程序、图形界面所需要的文件、额外的函数库、本机自行安装的软件,以及共享的目录与文件。
事实上,它有点像Windows操作系统中“ProgramFiles”与“WinNT”这两个目录的结合。
在此目录下的重要子目录有:
/usr/bin,/usr/sbin:
一般身份用户与系统管理员可执行的文件放置目录。
/usr/include:
c/c++等程序语言的文件头(header)与包含文件(include)放置处,当以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里面的许多包含文件。
/usr/lib:
各应用软件的函数库文件放置目录。
/usr/local:
本机自行安装的软件默认放置的目录。
当前也适用于/opt目录。
在安装完Linux之后,基本上所有的配置都有了,但软件总是可以升级的,例如,要升级代理服务,则通常软件默认的安装地方就是在/usr/local(local是“当地”的意思)中。
当安裝完之后所得到的执行文件,为了与系统原执行文件区分,升级后的执行文件通常放在/usr/local/bin中。
建议将后来才安装的软件放在这里,便于管理。
/usr/share:
共享文件放置的目录,例如下面两个目录:
/usr/share/doc:
放置一些系统帮助文件的地方,例如安装了grub,那么在该目录下查找,就可以看到grub的帮助文件了;/usr/share/man:
manpage的文件目录,是使用man的时候查询的路径。
例如,使用manls命令时,就会查出/usr/share/man/man1/ls.1.gz帮助文件的内容。
/usr/src:
Linux系统相关的程序代码放置目录,例如,/usr/srclinux为核心源码。
/usr/X11R6:
系统内的XWindowSystem所需的执行文件几乎都放在这里。
/var
这个目录也很重要,也是FHS规范的第二层目录内容。
它主要放置系统执行过程中经常变化的文件。
举例来说,例如,缓存(cache)或者是随时更改的登录文件(logfile)。
此外,某些软件执行过程中会写入的数据库文件,例如MySQL数据库,也都写入这个目录中。
很重要。
它下面的主要目录有:
/var/cache:
程序文件在运行过程中的一些暂存盘。
/var/lib:
程序执行的过程中,使用的数据文件放置的目录。
举例来说,locate数据库与MySQL及rpm等数据库系统,都写在这个目录中。
/var/log:
登录文件放置的目录。
很重要。
例如,/var/log/messages就是总管所有登录文件的文件。
/var/lock:
某些设备具有一次性写入的特性,例如,tab(磁带机),此时,为了避免被其他人干扰正在运行的操作,因此,会将该设备lock(锁)起来,以确定该设备只能被单一程序所用。
/var/run:
某些程序或者是服务启动后,会将它们的PID放在这个目录下。
/var/spool:
是一些队列数据存放的地方。
举例来说,主机收到电子邮件后,就会放到/var/spool/mail中,若信件暂时发不出去,就会放到/var/spool/mqueue目录下,用户工作任务分配(cron)则是放在/var/spool/cron中。
--基本文件:
所有直接放在/etc目录下的文件归类为基本文件;
aliases:
用于设置邮件别名;
auto.*:
代表的是一系列autofs服务所需要的配置文件,这个服务主要是让管理员可以事先定义出一些网络、本机或光驱等默认的路径;
auto.master:
负责规划目录的分配与使用,目前默认提供三种自动挂载模式;
auto.misc:
文件中的配置都以实体连接本机的磁盘驱动器为主;
:
并不是一个配置文件,而是一个脚本文件,在使用上其实不须做任何调整;;
auto.smb:
与一样,都是以个脚本文件;
bashrc:
用户登录功能配置,全局配置,对所有用户生效,主要配置别名;
profile:
与系统环境配置或初始化软件的相关配置,全局配置,对所有用户生效,主要配置变量;
DIR_COLORS:
用于配置ls命令的颜色,主要针对tty登录的用户;
DIR_COLORS.xterm:
用于配置ls命令的颜色,主要针对xterm登录的用户;
fstab:
系统启动时自动挂载文件系统的配置文件;
inittab:
启动时系统所需要的第一个配置文件;也即是init进程的配置文件;
issue:
用户本机登录时,看到的欢迎信息;
:
用户网络登录时,看到的欢迎信息;
ld.so.conf:
包含ld.so.conf.d/*.conf配置;主要是ld.so.conf.d/*.conf目录的作用;
localtime:
系统所使用的时区对应的配置文件;对应的时区文件都存在于/usr/share/zoneinfo/
motd:
登录成功的用户显示的信息对应的配置文件;
mtab:
可以当做是检查当前文件系统挂载情况的配置文件;与mount命令结果一致;
prelink.conf:
定义哪些执行文件和函数库是需要预先连接的;
securetty:
主要是login程序在使用的,只要是列在该文件中的接口,就表示是可以使用的接口,相反,若从列表中删除,则无法使用该接口;
shells:
记录目前系统所拥有shell种类的路径,通过cssh命令使用;
sudoers:
sudo命令对应的配置文件,用于配置权限的分配方式;
sysctl.conf:
主要是帮助用户配置/proc/sys目录下所有文件的值,与sysctl命令对应;
syslogd.conf:
是syslogd服务的配置文件
host.conf:
主机名解析配置文件,主要说明解析的方式及顺序;
hosts:
主机名解析配置文件,主要列出所有需要本地解析的主机名与IP地址的对应关系;
hosts.allow和hosts.deny:
linux网络安全机制TCPWrapper对应的配置文件;
nsswitch.conf:
主要记录系统应如何查询主机名、密码、用户组、网络等,或是查询顺序的编排;
resolv.conf:
记录DNS服务器地址,用于DNS域名解析;
services:
定义了网络服务的默认端口号;
xinetd.conf:
xinetd的主配置文件,目的是为xinetd.d下的所有子服务建立一个标准的规范使其可以遵循;
anacrontab:
属于一种任务计划软件的配置文件,anacrontab软件和crond其实有点相辅相成,crond负责任务计划,而anacrontab则是负责以"间隔多久"为主要的目标;
at.deny:
该文件属于拒绝列表,只要被记录在其中的用户,就无法使用at所提供的任务计划服务;
at.allow:
与at.deny刚好相反;
crontab:
crontab的主配置文件,crond默认会执行的文件可以参考此配置文件;
cron.deny:
该文件属于拒绝列表,只要被记录在其中的用户,就无法使用crond所提供的任务计划服务;
cron.allow:
与cron.deny刚好相反;
exports:
是NFS服务的主配置文件,主要目的就是将本机的目录共享到网络上,供其他人使用;
group与gshadow:
用户组配置文件,group主要保存用户组信息,gshadow主要保存群组密码;
login.defs:
设置系统在建立账号时所参考