01、Linux介绍

一、 Linux介绍

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多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吸收了无数程序员的精华,不断壮大。[4]

完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOSWindows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。[4]

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。[4]

良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。[4]

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARCAlpha处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑机顶盒游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。[4]

三、文件结构

/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

/bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。

/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUBLILO系统引导管理器也位于这个目录。

/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]

date :print or set the system date and time

2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)

3. passwd: print or set the system date and time (用passwd -h查看)

4. logout, login: 登录shell的登录和注销命令

5. pwd: print working directory

6. more, less, head tail: 显示或部分显示文件内容.

7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.

8. 更改文件权限: chmod u+x...

9. 删除非空目录:rm -fr dir

10.拷贝目录: cp -R dir

11. fg jobid :可以将一个后台进程放到前台。

Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。

job & 可以直接让job直接在后台运行。

12. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号 可以通过 man kill 查看。

13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)

二 .ubuntu常用命令:[6]

1. dpkg: package manager for Debian

* 安装: dpkg -i package

* 卸载: dpkg -r package

* 卸载并删除配置文件: dpkg -P |--purge package

* 如果安装一个包时。说依赖某些库。 可以先 apt-get install somelib...

* 查看软件包安装内容 :dpkg -L package

* 查看文件由哪个软件包提供: dpkg -S filename

* 另外 dpkg还有 dselect和aptitude 两个frontend.

2. apt

* 安装: apt-get install packs

* apt-get update : 更新源

* apt-get upgrade: 升级系统。

* apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包

* apt-get -f install : -f == --fix broken 修复依赖

* apt-get autoremove: 自动删除无用的软件

* apt-get remove packages :删除软件

* apt-get remove package --purge 删除包并清除配置文件

* 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk ‘{print $2}‘ |tr ["/n"] [" "]|sudo xargs dpkg -P

* 安装软件时候包的临时存放目录 : /var/cache/apt/archives

* 清除该目录: apt-get clean

* 清除该目录的旧版本的软件缓存: apt-get autoclean

* 查询软件some的依赖包: apt-cache depends some

* 查询软件some被哪些包依赖: apt-get rdepends some

* 搜索软件: apt-cache search name|regexp

* 查看软件包的作用:apt-cache show package

* 查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends

* 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)

* 安装软件包源码的同时, 安装其编译环境 :apt-get build-dep packagename (有deb-src源)

* 如何将本地光盘加入安装源列表: apt-cdrom add

3. 系统命令:

* 查看内核版本: uname -a

* 查看ubuntu 版本: cat /etc/issue

* 查看网卡状态 : ethtool eth0

* 查看内存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo

(/proc下面的有很多系统信息)

* 打印文件系统空间使用情况: df -h

* 查看硬盘分区情况: fdisk -l

* 产看文件大小: du -h filename;

* 查看目录大小: du -hs dirname ; du -h dirname是查看目录下所有文件的大小

* 查看内存的使用: free -m|-g|-k

* 查看进程: ps -e 或ps -aux -->显示用户

* 杀掉进程: kill pid

* 强制杀掉: killall -9 processname

4. 网络相关:

* 配置 ADSL: sudo pppoeconf

* ADSL手工拨号: sudo pon dsl-provider

* 激活 ADSL : sudo /etc/ppp/pppoe_on_boot

* 断开 ADSL: sudo poff

* 根据IP查网卡地址: arping IP地址

* 产看本地网络信息(包括ip等): ifconfig | ifconfig eth0

* 查看路由信息: netstat -r

* 关闭网卡: sudo ifconfig eth0 down

* 启用网卡: sudo ifconfig eth0 up

* 添加一个服务: sudo update-rc.d 服务名 defaults 99

* 删除一个服务: sudo update-rc.d 服务名 remove

* 临时重启一个服务: /etc/init.d/服务名 restart

* 临时关闭一个服务: /etc/init.d/服务名 stop

* 临时启动一个服务: /etc/init.d/服务名 start

* 控制台下显示中文: sudo apt-get install zhcon

* 查找某个文件: whereis filename 或 find 目录 -name 文件名

*通过ssh传输文件

scp -rp /path/filename [email protected]:/path #将本地文件拷贝到服务器上

scp -rp [email protected]:/path/filename /path #将远程文件从服务器下载到本地

5. 压缩:

*解压缩 a.tar.gz: tar zxvf a.tar.gz

*解压缩 a.tar.bz2: tar jxvf a.tar.bz2

*压缩aaa bbb目录为xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb

*压缩aaa bbb目录为xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb[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 -k keyword . eg: man -k user

* 或者用 apropos

* 统计文件所占用的实际磁盘空间: du (du - estimate file space usage)

* 统计文件中的字符,字节数: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)

* 查看文件的内容: od -x/-c/.... (od - dump files in octal and other formats)

我认为od最有用的就是文件的字节流了: od -t x1 filename

查看文件的 Ascii 码形式: od -t c filename (其中统计信息最左边的是: 字节数)

* 查找命令所在文件的位置: which od 输出: /usr/bin/od

查看该文件由哪个包提供: dpkg -S /usr/bin/od 输出: coreutils: /usr/bin/od

再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils

然后 info coreutils 哈哈,认真学吧, 满世界都是命令!

* 可以用man 命令产看某个命令的所有section 的解释: man -a tty

然后用q,和next 转换到下一个section的解释

* bash 的好用的快捷键:

ctrl+a:光标移到行首。

ctrl+b:光标左移一个字母

ctrl+c:杀死当前进程。

ctrl+d:退出当前 Shell。

ctrl+e:光标移到行尾。

ctrl+h:删除光标前一个字符,同 backspace 键相同。

ctrl+k:清除光标后至行尾的内容。

ctrl+l:清屏,相当于clear。

ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history

ctrl+u: 清除光标前至行首间的所有内容。

ctrl+w: 移除光标前的一个单词

ctrl+t: 交换光标位置前的两个字符

ctrl+y: 粘贴或者恢复上次的删除

ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符

ctrl+f: 光标右移

ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复

* 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。

* 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。

* 快速重启X服务: 同时按下: Alt + Ctrl + Backspace 三个键。

* 打开"运行"窗口: 同时按下 Alt + F2 键。

* 截屏: a、全屏:直接按下 PrtScr 键。

b、当前窗口:同时按下 Alt + PrtScr 键。

c、延时截屏:在 终端 或 "运行"窗口中输入命令: gnome-screenshot --delay 3 ,将延时 3 秒后截屏。

* 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。[6]8.ulimit

ulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。

ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)

和可同时运行的最大进程数(max user processes)无效

-a 列出所有当前资源极限

-c 设置core文件的最大值.单位:blocks

-d 设置一个进程的数据段的最大值.单位:kbytes

-f Shell 创建文件的文件大小的最大值,单位:blocks

-h 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限

-l 可以锁住的物理内存的最大值

-m 可以使用的常驻内存的最大值,单位:kbytes

-n 每个进程可以同时打开的最大文件数

-p 设置管道的最大值,单位为block,1block=512bytes

-s 指定堆栈的最大值:单位:kbytes

-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者

-t 指定每个进程所使用的秒数,单位:seconds

-u 可以运行的最大并发进程数

-v Shell可使用的最大的虚拟内存,单位:kbytes

eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)

原文地址:https://www.cnblogs.com/szl6/p/9460124.html

时间: 2024-10-13 23:46:26

01、Linux介绍的相关文章

开源Math.NET基础数学类库使用(01)综合介绍

原文:[原创]开源Math.NET基础数学类库使用(01)综合介绍 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math.NET(一)综合介绍    2.开源.NET基础数学计算组件Math.NET(二)矩阵向量计算    3.开源.NET基础数学计算组件Math.NET(三)C#解析Matlab的mat格式   4.开源.NET基础数学类库使用Math.NET(四)C#解析Matrix Marke数据格式   5.开源.NET基础数学类库使用Mat

Nmap原理-01选项介绍

Nmap原理-01选项介绍 1.Nmap原理图 Nmap包含四项基本功能:主机发现/端口扫描/版本探测/操作系统探测.这四项功能之间存在大致的依赖关系,比如图片中的先后关系,除此之外,Nmap还提供规避防火墙的技巧以及NSE库.下面对这四类Nmap选项进行介绍,主要介绍每个选项有什么作用,如想了解原理,可以阅读本文附录的参考文献. 2. 主机发现 例子: nmap –sn –PE –PS80,135 –PU53 scanme.nmap.org 使用wireshark可以查看,nmap在运行上述语

Linux 介绍了相关的文件夹

学习Linux,先了解Linux标准的文件夹结构是非常重要的,学习的一个很好的铺垫之后的行动.去罗列大而全的所有文件夹. 本文主要说明.笔者本人接触,须要了解的一些文件文件夹,当然本文也会不断的更新或更改. 也希望有幸能够阅读到本文.而且愿意指正本人文中不当或歧义的读者,给出你们宝贵的意见或建议. Linux文件夹类似一个树,最顶层是其根文件夹. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFob2tpbmc=/font/5a6L5L2T/fon

Linux网络服务01——Linux网络基础设置

Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [[email protected] ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:D5:3A:FA inet addr:192.168.200.100 Bcast:192.168.200.255 Mask:255.255.255.0 inet6 addr: fe80::20c:

Hadoop 1.2.1 安装笔记01 : Linux 与免密码

目标: 配置一个hadoop 1.2.1 测试环境  用的JDK是: jdk-7u65-linux-x64.gz 选的hadoop 是: hadoop-1.2.1.tar.gz 均来源Apache和oracle网站 主机规划: Linux版本 :  Centos 6.5 x64位  /boot:用来存放与Linux系统启动有关的程序,比如启动引导装载程序等,建议大小为100MB. /usr:用来存放Linux系统中的应用程序,其相关数据较多,建议大于3GB以上. /var:用来存放Linux系统

Linux介绍和安装

Linux介绍 1.它是一种操作系统 Windows,VMware和Centos三者的关系 VMware安装 1.根据实际情况选择安装目录 2.根据实际情况选择 3.点击安装 4.许可证使用和输入许可证秘钥 Centos安装 1.打开VMware 2.创建虚拟机 3.虚拟机设置 4.虚拟机开启配置 注意:下列方式选择其一(这里选择方式2) 方式一: 方式二 最后登录即可 原文地址:https://www.cnblogs.com/tfzz/p/12051194.html

阿里百秀项目实践---01项目介绍

01项目介绍 核心目标 了解 Web 开发过程(历史) 掌握基本的动态网站开发 培养 B/S 架构应用开发思维 锻炼 JavaScript jQuery AJAX 项目预览演示 一个自媒体信息发布平台 管理员(编辑)通过网站后台管理界面管理(发布.维护)自媒体内容 用户登录 登录界面可以根据是否填写表单内容拒绝登录操作 管理员可以通过用户名和密码登录到后台 内容管理 管理员可以通过管理后台查看全部内容 管理员可以通过管理后台增加内容 管理员可以通过管理后台删除内容 管理员可以通过管理后台修改内容

01 Linux入门介绍

一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 Linux的应用 网络服务器 关键任务的应用(金融数据库.大型企业网管环境) 学术机构癿高效能运算任务 手持系统(PDA.手机.导航系统) 个人办公使用 Linux的吉祥物/Logo 企鹅(英文名:Tux),由来:因为Torvalds在小时候被企鹅咬过,因此印象非常深刻 在Linux里,你可以通过命令

01 Linux安装(转)

1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会获得七年的支持(通过安全更新方式).新版本的 CentOS 每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件.这样,建立一个安全.低维护.稳定.高预测性.高重复性的 Linux 环境. CentOS(Community Enterprise Operati