Linux操作系统学习笔记

关于Linux详细介绍可以参见:http://blog.csdn.net/hguisu/article/details/6122513

1、Linux操作系统的安装

  目前基本上都是基于windows操作系统上的安装,在安装在windows上搞得虚拟机上加载安装Linux系统,主要有CentOS(企业服务用这个比较多)和Unbantu(个人笔记本安装用这个比较多)两种使用较多。

2、系统结构

  • 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。
  • shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
    目前主要有下列版本的shell。
    1. Bourne Shell:是贝尔实验室开发的。  
    2. BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。
    3. Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。    
    4. C Shell:是SUN公司Shell的BSD版本。
  • 应用程序

3、文件系统

  Linux的文件系统和MS-Windows的文件系统有很大的不同,对于微软视窗系统的文件结构我在这里不再多说,我们主要了结一下linux的文件系统结构. linux只有一个文件树,整个文件系统是以一个树根"/"为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘,软盘,光驱,调制解调器等,这和以"驱动器盘符为基础的MS-Windows系统是大不相同的.Linux的文件结构体现了这个操作系统简洁清析的设,常我们能够接触到的linux发行版本的根目录大都是以下结构:

/bin /sbin /etc /lost+found /var /boot /root/home /mnt /tmp /dev /lib /proc /usr

现在我将这些目录给大家做一个简要的介绍:

  • 1. /bin/sbin:使用和维护UNIX和Linux系统的大部分基本程序都包含在/bin和/sbin里,这两个目录的名气之所以包含bin,是因为可执行的程序都是二进制文件(binary files).

  /bin目录通常用来存放用户最常用的基本程序,如:

login

Shells

文件操作实用程序

系统实用程序

压缩工具

/sbin目录通常存放基本的系统和系统维护程序,如:

fsck fdisk mkfs shutdown lilo init

存放在这两个目录中的程序的主要区别是:/sbin中的程序只能由root(管理员)来执行.

  • 2. /etc:这个目录一般用来存放程序所需的整个文件系统的配置文件

其中的一些重要文件如下:

  passwd shadow fstab hosts motd profile shells services lilo.conf

  • 3. /lost+found:这个目录专门是用来放那些在系统非正常菪机后重新启动系统时,不知道该往哪里恢复的"流浪"文件的。
  • 4. /boot:这个目录下面存放着和系统启动有关系的各种文件,包括系统的引导程序和系统核心部分。
  • 5.  /root:这是系统管理员(root)的主目录。
  • 6.  /home:统中所有用户的主目录都存放在/home中,它包含实际用户(人)的主目录和其他用户的主目录.
  • 7. /mnt:/mnt目录通常包含一些子目录,每个子目录是某种特定设备类型的一个安装点。

按照约定,像CD-ROM,软盘,Zip盘,或者Jaz这样的可以动介质都应该安装在/mnt目录下,例如:

   /cdrom /floppy /zip /win ....

如果我们要使用这些特定设备,我们需要用mount命令从/dev目录中将外部设备挂接过来。在这里大家可能看到了有一个win的目录,这是我的机子上面做的一个通向windows文件系统的挂接点,这样我通过访问这个目录就可以访问到我在windows下面的文件了。但如果你的windows文件系统是NTFS格式,那么这个办法就不行了。

  • 8.  /tmp/var:这两个目录用来存放临时文件和经常变动的文件。
  • 9.  /dev:这是一个非常重要的目录,它存放着各种外部设备的镜像文件,其中有一些内容我们是要牢牢记住的。例如第一个软盘驱动器的名字是fd0;第一个硬盘的名字是hda,硬盘中的第一个分区是hda1,第二个分区是hda2;第一个光盘驱动器的名字是hdc;此外,还用modem和其他外设的名字,在这么多的名字中,我们只需要记住最最常用的那几个外设就可以了。
  • 10.  /usr:按照约定,这个目录用来存放与系统的用户直接相关的程序或文件,这里面有每一个系统用户的主目录,就是相对于他们的小型"/"。
  • 11.  /proc:这个目录下面的内容是当前在系统中运行的进程的虚拟镜像,我们在这里可以看到由当前运行的进程号组成的一些目录,还有一个记录当前内存内容的kernel文件。 

5、常用命令:命令+参数项+所操作文件

  • ifcofig 网卡名  IP地址         //配置网络
  • telnet 主机名/IP 端口号    //远程登录
  • ls : 这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。
    • ls -a:Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来
    • ls -l(这个参数是字母L的小写,不是数字1):这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

位置1    2   3     4     5     6   7

文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名

drwx------ 2 Guest users 1024 Nov 21 21:05 Mail

-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*

-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*

lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip

-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*

-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*

下面,我为大家解释一下这些显示内容的意义。

第一个栏位,表示文件的属性。

Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。

          • 第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横"-"表示,则表示这是文件。
          • 第2~4个小格表示当前用户的权限,r--可读,w--可写,x--可执行
          • 第5~7个小格表示当前用户所在组的权限,r--可读,w--可写,x--可执行
          • 第8~10个小格表示其他用户的权限,r--可读,w--可写,x--可执行
      • Ls -F(注意,是大写的F):使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

1. 显示当前目录所有的文件和目录信息
> ls //list
> ls XX目录 //查看指定目录下边的文件信息

2. 显示当前文件目录位置
> pwd

3. 目录之间切换
> cd 目录名字
> cd .. 切换到上级目录

4. 切换到完全命令模式
> init 3 进入命令模式
> init 5 进入可视化操作界面

5. 用户切换到超级管理员
> su - root //$是普通用户 #是超级管理员
> su -
> su root //也可以切换到root用户,但是没有超级管理员权限

6. 超级管理员切换回普通用户
> exit

7. 查看当前用户是谁
> whoami

8. 输出一个文件内容
> cat 具体文件

9. 创建目录make directory
> mkdir hello
> mkdir hello/world
> mkdir -p first/second/third //递归创建3个目录

10. 给目录改名字move移动
> mv 旧名字 新名字
> mv book.ods bread.ods
> mv first/second first/six //把second改名字为six

11. 移动目录操作move
> mv 目标 新的地址
> mv bread.ods 目录
> mv ten/bread.ods first //移动,因为first目录存在
mv ten/bread.ods firstt //改名字,并且移动文件到当前目录

mv 目标 地址 //移动,只要地址是存在的目录就是移动
mv 目标 地址 //改名字,地址只要不存在就是改名字

12. 复制操作copy
> cp 源文件 复制文件
> cp -R 目录 目标目录 //复制"目录"需要添加参数-R
> cp 源文件 目标/新的名字 //复制的同时给起一个新的名字

13. 删除目录、文件
> rm 文件 //删除单个文件
> rmdir 目录 //删除单个目录
> rm -rf 文件 //可以删除一切普通的目录或文件 递归recursive 强制force
rm -rf / // kill your self

14. 输出文件内容
> cat 文件 //一次性输出文件全部内容
> more 文件 //分页显示文件内容
敲回车查看下边的内容,不支持回看
中间停止:q
显示内容百分比
> less 文件 //分页显示文件内容
可以通过上、下、左、右查看文件具体内容
停止:q
没有百分比显示
> head -n 文件 //查看文件前n行内容
> tail -n 文件 //查看文件末尾n行内容

15. 计算文件行数
> wc 文件 //计算文件行数

16. 创建文件
> touch filename //创建文件

17. 给文件添加内容
> echo content > filename //给文件添加内容[覆盖添加内容,原内容被删除]
> echo 内容 >> filename //给文件追加内容
> echo 内容 >/>> newfilename //会创建一个新的文件,并且有添加内容[重定向方式]

18. 给系统增加一个用户
user add/mod/del
> useradd username //添加一个用户
该方式创建用户,并没有显示设置用户的组
> useradd -g NNN 用户名 //添加用户并设置组别
> useradd -g NNN -d 目录 用户名 //添加用户并设置家目录、组别
> useradd -u XXX 用户名 //添加用户并显示设置用户编号

18.1 修改用户
> usermod -u 用户编号 -g 组编号 -d 家目录 用户名 //修改用户

18.2 删除用户
> userdel -r 用户 //删除用户,并且删除家目录

19. 给系统创建组
group add/mod/del
groupadd movie
groupadd music
groupadd -g XXX 组名 //添加组并设置组编号

19.1 修改组
> groupmod -n 新名字 旧名字 //修改组的名字
19.2 删除组
> groupdel 组名

20. 查看系统用户信息
> cat /etc/passwd 用户信息
> cat /etc/group 组的信息

21. 查看具体指令使用参数方法
> man 指令

22. 给用户设置密码
> passwd 用户名

时间: 2024-10-03 18:53:10

Linux操作系统学习笔记的相关文章

Linux 操作系统学习笔记

一,unix 1.unix 特点 伸缩性强,开放性好, 2.基本原则 所有对象,硬件都是文件 配置数据以文本形式保存 短小的单目的程序构成 多个程序合作完成复杂任务 3.gnu 基本原则是共享,建立自由开放的unix系统 1984年 richard stallman 发起 基本体系是micro kernel 4.gpl Copyleft 原作者所有权 5.linux起源 Linustorvalds, 自由的类unix操作系统, 遵循gnu和gpl 6.linux 可以实现unix功能 遵循开源许

Linux程序设计学习笔记----System V进程间通信(信号量)

关于System V Unix System V,是Unix操作系统众多版本中的一支.它最初由AT&T开发,在1983年第一次发布,因此也被称为AT&T System V.一共发行了4个System V的主要版本:版本1.2.3和4.System V Release 4,或者称为SVR4,是最成功的版本,成为一些UNIX共同特性的源头,例如"SysV 初始化脚本"(/etc/init.d),用来控制系统启动和关闭,System V Interface Definitio

Linux mkisofs 创建光盘镜像文件(Linux指令学习笔记)

mkisofs命令 创建光盘文件的系统的命令是mkisofs.光盘系统有多种格式,利用Linux系统提供的光盘文件系统创建 命令mkisofs,可以创建多种iso9660文件系统. 我们一般不用mkisofs直接刻录光盘,而常用它创建一个光盘映像文件. mkisofs用法如下: mkisofs  [options] [-o filename] pathspec[pathspec...] -o filename :光盘映像文件名. pathspec:    要刻录的文件名,目录或者树目录. opt

Linux系统学习笔记:序

Linux系统学习笔记:序 ??Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 本人使用的Linux为Ubuntu,主要以<APUE>(第3版)为学习蓝本. 1. Unix/Linux 体系结构 如图: 内核的接口被称为系统调用.公用函数库构建在

Linux程序设计学习笔记----Socket网络编程基础之TCP/IP协议簇

转载请注明出处: ,谢谢! 内容提要 本节主要学习网络通信基础,主要涉及的内容是: TCP/IP协议簇基础:两个模型 IPv4协议基础:IP地址分类与表示,子网掩码等 IP地址转换:点分十进制\二进制 TCP/IP协议簇基础 OSI模型 我们知道计算机网络之中,有各种各样的设备,那么如何实现这些设备的通信呢? 显然是通过标准的通讯协议,但是,整个网络连接的过程相当复杂,包括硬件.软件数据封包与应用程序的互相链接等等,如果想要写一支将联网全部功能都串连在一块的程序,那么当某个小环节出现问题时,整只

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

linux基础学习笔记——操作大全

作者:liaoyi 更新时间:2014-6-2 ****************基本操作***************** 关机 shutdown -h now    root用户               init 0              root用户halt      root+一般用户poweroff 重启shutdown -r now    root用户init6     root用户reboot            root+一般用户 注意:1.shutdown 比较灵活,可

Linux程序设计学习笔记----System V进程通信之消息队列

一个或多个进程可向消息队列写入消息,而一个或多个进程可从消息队列中读取消息,这种进程间通讯机制通常使用在客户/服务器模型中,客户向服务器发送请求消息,服务器读取消息并执行相应请求.在许多微内核结构的操作系统中,内核和各组件之间的基本通讯方式就是消息队列.例如,在 MINIX 操作系统中,内核.I/O 任务.服务器进程和用户进程之间就是通过消息队列实现通讯的. Linux中的消息可以被描述成在内核地址空间的一个内部链表,每一个消息队列由一个IPC的标识号唯一的标识.Linux 为系统中所有的消息队

Linux程序设计学习笔记----多线程编程基础概念与基本操作

转载请注明出处,http://blog.csdn.net/suool/article/details/38542543,谢谢. 基本概念 线程和进程的对比 用户空间资源对比 每个进程在创建的时候都申请了新的内存空间以存储代码段\数据段\BSS段\堆\栈空间,并且这些的空间的初始化值是父进程空间的,父子进程在创建后不能互访资源. 而每个新创建的线程则仅仅申请了自己的栈,空间,与同进程的其他线程共享该进程的其他数据空间包括代码段\数据段\BSS段\堆以及打开的库,mmap映射的文件与共享的空间,使得