专栏首页mukekeheart的iOS之旅Linux操作系统学习笔记

Linux操作系统学习笔记

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

关于Linux的常用命令可以参见:http://blog.csdn.net/xiaoguaihai/article/details/8705992

【Linux】Linux中常用操作命令

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参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
  • 显示当前目录所有的文件和目录信息

> ls //list > ls XX目录 //查看指定目录下边的文件信息

  •  显示当前文件目录位置

> pwd

  • 目录之间切换

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

  • 切换到完全命令模式

> init 3 进入命令模式 > init 5 进入可视化操作界面

> init 0 关机

  • 用户切换到超级管理员

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

  • 超级管理员切换回普通用户

> exit

  • 查看当前用户是谁

> whoami

  • 输出一个文件内容

> cat 具体文件

  • 创建目录make directory

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

  • 给目录改名字move移动

> mv 旧名字 新名字 > mv book.ods bread.ods > mv first/second first/six //把second改名字为six

  • 移动目录操作move

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

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

  • 复制操作copy

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

  • 删除目录、文件

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

  • 输出文件内容

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

  •  计算文件行数

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

  • 创建文件

> touch filename //创建文件

  • 给文件添加内容

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

  • 给系统增加一个用户

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

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

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

  • 给系统创建组

group add/mod/del groupadd movie groupadd music groupadd -g XXX 组名 //添加组并设置组编号

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

  •  查看系统用户信息

> cat /etc/passwd 用户信息 > cat /etc/group 组的信息

  •  查看具体指令使用参数方法

> man 指令

  • 给用户设置密码

> passwd 用户名

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SVN服务器的搭建和使用

    仓库的目录说明: db目录:就是所有版本控制的数据存放文件。 hooks目录:脚本文件的目录。 locks目录:用放置hook来放置Subversion文件库锁...

    mukekeheart
  • OC学习8——异常处理

    1、和Java一样,OC也有自己的一套异常处理机制,不同的是,OC中的异常处理机制并不是作为常规的编程实践,通常只是作为一种程序调试、排错机制。 2、与Java...

    mukekeheart
  • 一个查看MAC硬盘占用的小工具ncdu

    本人用的是128G闪存的mac pro,由于有强迫症,见到闪存莫名其妙的被占用很不爽,然后呢偶然间发现了这个工具,相当好用,给大家安利一下。照着下面步骤就可以了...

    mukekeheart
  • [Linux] Linux 基础命令 (持续更新)

    在介绍Linux命令之前,先简单了解下操作系统的作用,操作系统是应用程序与硬件之间插入的一层软件,所有应用对硬件的操作都必须经过操作系统。操作系统的两个最主要的...

    轻舞飞扬SR
  • Linux笔记1

    章鱼喵
  • 速读原著-UnixLinux基础(二)

    Unix/Linux路径由到达定位文件的目录组成。在Unix/Linux系统中组成路径的目录分割符为斜杠“/”,而DOS则用反斜杠“\”来分割各个目录。

    cwl_java
  • Linux-简介篇

    什么是Linux Unix Unix是一个强大的多用户、多任务操作系统。 于1969年在AT&T的贝尔实验室开发。 UNIX的商标权由国际开放标准组织(The ...

    一点博客
  • 后端程序员必备的Linux基础知识

    我自己总结的Java学习的系统知识点以及面试问题,目前已经开源,会一直完善下去,欢迎建议和指导欢迎Star: https://github.com/Snailc...

    用户2164320
  • [CodeIgniter4]概述-应用结构

    为了可以充分利用 CodeIgniter,你需要了解应用程序的结构,默认情况下,你可以更改内容以满足你的应用程序的需求。

    landv
  • 【小家运维】达到Linux第三阶段的常用命令笔记记录---PartⅠ

    【小家运维】达到Linux第三阶段的常用命令笔记记录—PartⅠ 【小家运维】达到Linux第三阶段的常用命令笔记记录—Part Ⅱ 【小家运维】达到Lin...

    YourBatman

扫码关注云+社区

领取腾讯云代金券