linux.docx
- 文档编号:5827620
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:9
- 大小:24.47KB
linux.docx
《linux.docx》由会员分享,可在线阅读,更多相关《linux.docx(9页珍藏版)》请在冰豆网上搜索。
linux
linux
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991年10月5日(这是第一次正式向外公布时间)。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
主要特性
基本思想
Linux的基本思想有两点:
第一,一切都是文件;第二,每个软件都有确定的用途。
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
[3]
完全免费
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。
这是其他的操作系统所做不到的。
正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。
这为用户从Windows转到Linux奠定了基础。
许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
[4]
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。
多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
[4]
良好的界面
Linux同时具有字符界面和图形界面。
在字符界面用户可以通过键盘输入相应的指令来进行操作。
它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。
在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
[4]
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。
此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。
2001年1月份发布的Linux2.4版内核已经能够完全支持Intel 64位芯片架构。
同时Linux也支持多处理器技术。
多个处理器同时工作,使系统性能大大提高。
[4]
桌面环境
介绍
在图形计算中,一个桌面环境(Desktopenvironment,有时称为桌面管理器)为计算机提供一个图形用户界面(GUI)。
但严格来说窗口管理器和桌面环境是有区别的。
桌面环境就是桌面图形环境,它的主要目标是为Linux/Unix操作系统提供一个更加完备的界面以及大量各类整合工具和使用程序,其基本易用性吸引着大量的新用户。
桌面环境名称来自桌面比拟,对应于早期的文字命令行界面(CLI)。
一个典型的桌面环境提供图标,视窗,工具栏,文件夹,壁纸以及像拖放这样的能力。
整体而言,桌面环境在设计和功能上的特性,赋予了它与众不同的外观和感觉。
种类
现今主流的桌面环境有KDE,gnome,Xfce,LXDE等,除此之外还有Ambient,EDE,IRIXInteractiveDesktop,Mezzo,Sugar,CDE等。
gnome
即GNU网络对象模型环境(TheGNUNetworkObjectModelEnvironment),GNU计划的一部分,开放源码运动的一个重要组成部分。
是一种让使用者容易操作和设定电脑环境的工具。
目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,他是GNU计划的正式桌面。
Xfce
即XFormsCommonEnvironment,创建于2007年7月,类似于商业图形环境CDE,是一个运行在各类Unix下的轻量级桌面环境。
原作者OlivierFourdan最先设计XFce是基于XForms三维图形库。
Xfce设计目的是用来提高系统的效率,在节省系统资源的同时,能够快速加载和执行应用程序。
Fluxbox
是一个基于GNU/Linux的轻量级图形操作界面,它虽然没有GNOME和KDE那样精致,但由于它的运行对系统资源和配置要求极低,所以它被安装到很多较旧的或是对性能要求较高的机器上,其菜单和有关配置被保存于用户根目录下的.fluxbox目录里,这样使得它的配置极为便利。
Enlightenment
是一个功能强大的窗口管理器,它的目标是运用户轻而易举地配置所见即所得的桌面图形界面。
现在Enlightenment的界面已经相当豪华,它拥有像AfterStep一样的可视化时钟以及其它浮华的界面效果,用户不仅可以任意选择边框和动感的声音效果,最有吸引力的是由于它开放的设计思想,每一个用户可以根据自己的爱好,任意地配置窗口的边框、菜单以及屏幕上其它各个部分,而不须要接触源代码,也不须要编译任何程序。
文件系统
文件类型
普通文件(regularfile):
就是一般存取的文件,由ls-al显示出来的属性中,第一个属性为[-],例如[-rwxrwxrwx]。
另外,依照文件的内容,又大致可以分为:
1、纯文本文件(ASCII):
这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。
设置文件几乎都属于这种文件类型。
举例来说,使用命令“cat~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。
2、二进制文件(binary):
系统其实仅认识且可以执行二进制文件(binaryfile)。
Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。
举例来说,命令cat就是一个二进制文件。
3、数据格式的文件(data):
有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(datafile)。
举例来说,Linux在用户登入时,都会将登录数据记录在/var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。
但使用cat时,会读出乱码。
因为它是属于一种特殊格式的文件。
目录文件(directory):
就是目录,第一个属性为[d],例如[drwxrwxrwx]。
连接文件(link):
类似Windows下面的快捷方式。
第一个属性为[l],例如[lrwxrwxrwx]。
设备与设备文件(device):
与系统外设及存储等相关的一些文件,通常都集中在/dev目录。
通常又分为两种:
块设备文件:
就是存储数据以供系统存取的接口设备,简单而言就是硬盘。
例如一号硬盘的代码是/dev/hda1等文件。
第一个属性为[b]。
字符设备文件:
即串行端口的接口设备,例如键盘、鼠标等等。
第一个属性为[c]。
套接字(sockets):
这类文件通常用在网络数据连接。
可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
第一个属性为[s],最常在/var/run目录中看到这种文件类型。
管道(FIFO,pipe):
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。
FIFO是first-in-first-out(先进先出)的缩写。
第一个属性为[p]。
[5]
文件结构
/:
根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
/bin:
bin就是二进制(binary)英文缩写。
在一般的系统当中,都可以在这个目录下找到linux常用的命令。
系统所需要的那些命令位于此目录。
/boot:
Linux的内核及引导系统程序所需要的文件目录,比如vmlinuzinitrd.img文件都位于这个目录中。
在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。
/cdrom:
这个目录在刚刚安装系统的时候是空的。
可以将光驱文件系统挂在这个目录下。
例如:
mount/dev/cdrom/cdrom
/dev:
dev是设备(device)的英文缩写。
这个目录对所有的用户都十分重要。
因为在这个目录中包含了所有linux系统中使用的外部设备。
但是这里并不是放的外部设备的驱动程序。
这一点和常用的windows,dos操作系统不一样。
它实际上是一个访问这些外部设备的端口。
可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
/etc:
etc这个目录是linux系统中最重要的目录之一。
在这个目录下存放了系统管理时要用到的各种配置文件和子目录。
要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。
/home:
如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。
/lib:
lib是库(library)英文缩写。
这个目录是用来存放系统动态连接共享库的。
几乎所有的应用程序都会用到这个目录下的共享库。
因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。
/lost+found:
在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。
当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。
有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。
/mnt:
这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。
可以参看/etc/fstab的定义。
/media:
有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。
/opt:
这里主要存放那些可选的程序。
/proc:
可以在这个目录下获取系统信息。
这些信息是在内存中,由系统自己产生的。
/root:
Linux超级权限用户root的家目录。
/sbin:
这个目录是用来存放系统管理员的系统管理程序。
大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。
/selinux :
对SElinux的一些配置文件目录,SElinux可以让linux更加安全。
/srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中
/tmp:
临时文件目录,用来存放不同程序执行时产生的临时文件。
有时用户运行程序的时候,会产生临时文件。
/tmp就用来存放临时文件的。
/var/tmp目录和这个目录相似。
/usr
这是linux系统中占用硬盘空间最大的目录。
用户的很多应用程序和文件都存放在这个目录下。
在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具
/usr/local:
这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。
它和/usr目录具有相类似的目录结构。
让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。
/usr/share:
系统共用的东西存放地,比如/usr/share/fonts是字体目录,/usr/share/doc和/usr/share/man帮助文件。
/var:
这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log这是用来存放系统日志的目录。
/var/www目录是定义Apache服务器站点存放目录;/var/lib用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。
常用命令及技巧
一。
通用命令:
[6]
1.date:
printorsetthesystemdateandtime
2.stty-a:
可以查看或者打印控制字符(Ctrl-C,Ctrl-D,Ctrl-Z等)
3.passwd:
printorsetthesystemdateandtime(用passwd-h查看)
4.logout,login:
登录shell的登录和注销命令
5.pwd:
printorsetthesystemdateandtime
6.more,less,headtail:
显示或部分显示文件内容.
7.lp/lpstat/cancel,lpr/lpq/lprm:
打印文件.
8.更改文件权限:
chmodu+x...
9.删除非空目录:
rm-frdir
10.拷贝目录:
cp-Rdir
11.fgjobid:
可以将一个后台进程放到前台。
Ctrl-z可以将前台进程挂起(suspend),然后可以用bgjobid让其到后台运行。
job&可以直接让job直接在后台运行。
12.kill的作用:
sendasignaltoaprocess.eg:
kill-9发送的是SIG_KILL信号。
。
。
具体发送什么信号可以通过mankill查看。
13.ps的用法,ps-e或ps-opid,ppid,session,tpgid,comm(其中session显示的sessionid,tpgid显示前台进程组id,comm显示命令名称。
)
二.ubuntu常用命令:
[6]
1.dpkg:
packagemanagerforDebian
*安装:
dpkg-ipackage
*卸载:
dpkg-rpackage
*卸载并删除配置文件:
dpkg-P|--purgepackage
*如果安装一个包时。
说依赖某些库。
可以先apt-getinstallsomelib...
*查看软件包安装内容:
dpkg-Lpackage
*查看文件由哪个软件包提供:
dpkg-Sfilename
*另外dpkg还有dselect和aptitude两个frontend.
2.apt
*安装:
apt-getinstallpacks
*apt-getupdate:
更新源
*apt-getupgrade:
升级系统。
*apt-getdist-upgrade:
智能升级。
安装新软件包,删除废弃的软件包
*apt-get-finstall:
-f==--fixbroken修复依赖
*apt-getautoremove:
自动删除无用的软件
*apt-getremovepackages:
删除软件
*apt-getremovepackage--purge删除包并清除配置文件
*清除所以删除包的残余配置文件:
dpkg-l|grep^rc|awk'{print$2}'|tr["/n"][""]|sudoxargsdpkg-P
*安装软件时候包的临时存放目录:
/var/cache/apt/archives
*清除该目录:
apt-getclean
*清除该目录的旧版本的软件缓存:
apt-getautoclean
*查询软件some的依赖包:
apt-cachedependssome
*查询软件some被哪些包依赖:
apt-getrdependssome
*搜索软件:
apt-cachesearchname|regexp
*查看软件包的作用:
apt-cacheshowpackage
*查看一个软件的编译依赖库:
apt-cacheshowsrcpackagename|grepBuild-Depends
*下载软件的源代码:
apt-getsourcepackagename(注:
sources.list中应该有deb-src源)
*安装软件包源码的同时,安装其编译环境:
apt-getbuild-deppackagename(有deb-src源)
*如何将本地光盘加入安装源列表:
apt-cdromadd
3.系统命令:
*查看内核版本:
uname-a
*查看ubuntu版本:
cat/etc/issue
*查看网卡状态:
ethtooleth0
*查看内存,cpu的信息:
cat/proc/meminfo;cat/proc/cpuinfo
(/proc下面的有很多系统信息)
*打印文件系统空间使用情况:
df-h
*查看硬盘分区情况:
fdisk-l
*产看文件大小:
du-hfilename;
*查看目录大小:
du-hsdirname;du-hdirname是查看目录下所有文件的大小
*查看内存的使用:
free-m|-g|-k
*查看进程:
ps-e或ps-aux-->显示用户
*杀掉进程:
killpid
*强制杀掉:
killall-9processname
4.网络相关:
*配置ADSL:
sudopppoeconf
*ADSL手工拨号:
sudopondsl-provider
*激活ADSL:
sudo/etc/ppp/pppoe_on_boot
*断开ADSL:
sudopoff
*根据IP查网卡地址:
arpingIP地址
*产看本地网络信息(包括ip等):
ifconfig|ifconfigeth0
*查看路由信息:
netstat-r
*关闭网卡:
sudoifconfigeth0down
*启用网卡:
sudoifconfigeth0up
*添加一个服务:
sudoupdate-rc.d服务名defaults99
*删除一个服务:
sudoupdate-rc.d服务名remove
*临时重启一个服务:
/etc/init.d/服务名restart
*临时关闭一个服务:
/etc/init.d/服务名stop
*临时启动一个服务:
/etc/init.d/服务名start
*控制台下显示中文:
sudoapt-getinstallzhcon
*查找某个文件:
whereisfilename或find目录-name文件名
*通过ssh传输文件
scp-rp/path/filenameusername@remoteIP:
/path#将本地文件拷贝到服务器上
scp-rpusername@remoteIP:
/path/filename/path#将远程文件从服务器下载到本地
5.压缩:
*解压缩a.tar.gz:
tarzxvfa.tar.gz
*解压缩a.tar.bz2:
tarjxvfa.tar.bz2
*压缩aaabbb目录为xxx.tar.gz:
tarzcvfxxx.tar.gzaaabbb
*压缩aaabbb目录为xxx.tar.bz2:
tarjcvfxxx.tar.bz2aaabbb[6]
6.Nautilus:
特殊URI地址
*computer:
///-全部挂载的设备和网络
*network:
///-浏览可用的网络
*burn:
///-一个刻录CDs/DVDs的数据虚拟目录
*smb:
///-可用的windows/samba网络资源
*x-nautilus-desktop:
///-桌面项目和图标
*file:
///-本地文件
*trash:
///-本地回收站目录
*ftp:
//-FTP文件夹
*ssh:
//-SSH文件夹
*fonts:
///-字体文件夹,可将字体文件拖到此处以完成安装
*themes:
///-系统主题文件夹
*显示隐藏文件:
Ctrl+h
*显示地址栏:
Ctrl+l
*查看已安装字体:
在nautilus的地址栏里输入”fonts:
///“,就可以查看本机所有的fonts[6]
7.补充部分:
*查看本地所有的tpc,udp监听端口:
netstat-tupln(t=tcp,u=udp,p=program,l=listen,n=numric)
*通过man搜说相关命令:
man-kkeyword.eg:
man-kuser
*或者用apropos
*统计文件所占用的实际磁盘空间:
du(du-estimatefilespaceusage)
*统计文件中的字符,字节数:
wc-c/-l/-w(wc-printthenumberofnewlines,words,andbytesinfiles)
*查看文件的内容:
od-x/-c/....(od-dumpfilesinoctalandotherformats)
我认为od最有用的就是文件的字节流了:
od-tx1filename
查看文件的Ascii码形式:
od-tcfilename(其中统计信息最左边的是:
字节数)
*查找命令所在文件的位置:
whichod输出:
/usr/bin/od
查看该文件由哪个包提供:
dpkg-S/usr/bin/od输出:
coreutils:
/usr/bin/od
再查看coreutils包的全部内容就知道了linux的核心命令:
dpkg-Lcoreutils
然后infocoreutils哈哈,认真学吧,满世界都是命令!
*可以用man命令产看某个命令的所有section的解释:
man-atty
然后用q,和next转换到下一个section的解释
*bash的好用的快捷键:
ctrl+a:
光标移到行首。
ctrl+b:
光标左移一个字母
ctrl+c:
杀死当前进程。
ctrl+d:
退出当前Shell。
ctrl+e:
光标移到行尾。
ctrl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux
![提示](https://static.bdocx.com/images/bang_tan.gif)