Linux初学笔记

Linux 初学笔记


笨鸟慢飞,只能更加刻不容缓了,主要通过视频和上网搜资料学习,总结一下学到的点吧,都是很基础的东西,而且也不全,纯粹当作总结笔记,方便日后温故知新。系统是ubuntu12.04 LTS


linux的文件系统采用的是级层式的树状目录结构,最上层的是根目录/”,根目录下有几个常见的文件夹,分别代表以下含义:

root:存放root用户的相关文件

home:存放普通用户的相关文件

bin:存放常用的普通命令

sbin:存放带有权限的命令

mnt:默认挂载软驱/光驱的目录

boot:存放引导文件

etc:存放相关配置文件

var:存放经常变化的文件

usr:默认软件的安装文件夹


linux系统终端下的常用命令(其实不一定常用,只是目前学到了,做个记录)

-------------------------------------------------split line---------------------------------------------------------

系统运行相关命令:

1.马上关机:shutdown -h now

2.马上重启:shutdown -r now或者reboot

3.注销:logout

-------------------------------------------------split line---------------------------------------------------------

文件和目录操作相关命令:

1.列出当前文件夹下的文件和文件夹:ls(这货最常用了)

列出详细的当前文件夹下的文件和文件夹:ls -l

显示隐藏文件:ls -q

2.复制文件:cp 文件名路径

复制文件夹:cp -rf 文件夹名路径

3.删除文件:rm 文件名

删除空目录:rmdir

删除非空目录:rm -rf 非空目录名

4.建立空文件:touch 文件名

建立空文件夹:mkdir 文件夹名

5.查找文件:find / -name 文件名

查找十分钟内存取的文件或目录:find /home -amin -10

查找十小时内存取的文件或目录:find /home -atime -10

查找十分钟内更改过的文件或目录:find /home -cmin -10

查找十小时前更改过的文件或目录:find /home -ctime +10

查找/home目录下大小为10k的文件:find /home -size +10k

6.查找文件中的关键字:grep -n 关键字文件名

7.重定向命令:ls -l >xxx.xxx

8.管道命令:|

9.分页显示文件:more 文件名

10.建立符号链接,类似windows的快捷方式:ln -s 源 目标

-------------------------------------------------split line---------------------------------------------------------

文件所有者和组的操作相关命令:

1.显示文件的所有者和所在组:ls -ahl

2.修改文件所在组:chgrp 组名文件名

3.修改文件所有者:chown 用户名文件名

4.修改用户所在组:usermod -g 组名用户名

5.修改用户登陆的初始目录:usermod -d 目录名用户名

6.添加组:groupadd 组名

7.创建用户并指定所在组:useradd -g 组名用户名

8.查看系统中所有组的信息:cat /etc/group

9.查看系统中所有用户的信息:cat /etc/passwd

-------------------------------------------------split line---------------------------------------------------------

网络有关的命令:

1.监控网络状态信息:netstat -an

2.显示数据包经过历程:traceroute

3.查看路由表:route

-------------------------------------------------split line---------------------------------------------------------

进程监控相关命令:

--ps命令和top命令--

ps命令用于查看当前系统中,哪些进程正在执行,该命令为静态显示命令

命令行:ps -aux

命令行:kill 进程号

命令行:kill -9 进程号

top命令用于查看当前系统这那个所有的进程信息,该命令为动态显示命令

输入top命令,会出现如下格式的结果


top - 15:27:56 up 20 min, 2 users, load average: 0.27, 0.23, 0.23

Tasks: 204 total, 2 running, 201 sleeping, 0 stopped, 1 zombie

Cpu(s): 2.1%us, 0.9%sy, 0.1%ni, 96.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 6023200k total, 1312304k used, 4710896k free, 34960k buffers

Swap: 975868k total, 0k used, 975868k free, 705768k cached


- 15:27:56 up:当前时间

20 min:已经启动时间

2 users:系统中的用户数

load average: 0.27, 0.23, 0.23:当前系统负载情况(若3个数字的平均值>0.6说明负载过重)

Tasks: 204 total:当前进程数

1 zombie:僵尸进程,即已经结束但仍占用内存的进程

Cpu(s): 96.9%id(le)CPU剩余使用情况

Mem:内存使用情况

Swap:交换空间(类似windows虚拟内存)使用情况

-------------------------------------------------split line---------------------------------------------------------

系统命令转换命令:

用户自定义命令代替指定命令:alias 自定义命令=‘置顶命令’

-------------------------------------------------split line---------------------------------------------------------

当用ls -l查看相关信息时,系统显示的结果行各个部分代表的含义:

eg-rwxrwxr-x 1 creator creator 8380 34 15:29 another


第一部分:-rwxrwxr-x代表该文件的操作权限

-rwxrwxr-x分为-(文件类型)、rwx(所有者权限)、rwx(所在组权限)、r-x(其他组权限)四部分

-代表文件,若显示d表示目录,若显示l表示链接

r代表可读,一般用4表示

w代表可写,一般用2表示

x代表可执行,一般用1表示

第二部分:creator代表该文件的所有者

第三部分:creator代表该文件的所在组

第四部分:8380代表该文件的大小

第五部分:34 15:29代表最后修改的日期

第六部分:another代表文件名


-------------------------------------------------split line---------------------------------------------------------

linux分区:

首先是有关于硬盘分区的,一个硬盘一般要分一个主分区,用来安装系统,还有多个扩展分区。对于一个硬盘,主分区数+扩展分区数必须<=4,主分区可以直接使用,扩展分区必须进行二次分区才能使用。扩展分区必须进一步分成逻辑分区,逻辑分区的数量不限,可以直接使用。


接下来是摘自视频里的一段话

:对windows用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定这个分区上的文件和目录,它们的文件结构都是独立的。

:对linux用户来说,无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。linux每一个分区都是用来组成文件系统的一部分,因为它采用了一种叫载入的处理方法,它的整个系统中包含了一整套文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。


对于这段话,目前我的理解是:不同于windows每个分区的文件结构是独立的,在linux中,不管有几个文件夹,总的就是一个根目录(/”),每个文件夹之间不是独立的,它采用了挂载的方式。比如:boot目录下的文件是存放在a分区,实际上是a分区挂载在了boot目录下,所以通过boot目录可以访问到a分区的内容,所以可以对boot目录进行卸载,取消boot目录和a分区之间的关系,也可以建立一个新的文件夹,然后将某个分区挂载在这个新建文件夹上,这样就可以通过这个新建文件夹来访问分区中的内容,与windows是不同的。


与挂载,卸载,内存空间查看有关的命令:

1.挂载某个设备:mount 设备名称挂载点

2.卸载某个设备:umount 设备名称

3.查看磁盘使用情况:df -l

4.查看某个目录是在哪个分区:df 目录全路径

5.查看linux系统分区的具体情况:fdisk -l


当用fdisk(似乎要root权限,用普通权限没反应)命令查看分区的具体情况时,会显示如下格式的内容:/dev/sda3 41172992 245972991 102400000 7 HPFS/NTFS/exFAT

dev表示设备

sd表示硬盘的种类,如果是hd则为ide硬盘,sdscsi硬盘(我的是sata,百度了下好像和scsi有区别,不懂这个地方)

a表示第一块硬盘,如果有b,则为第二个硬盘

3表示第几个分区,1~4表示主分区或者扩展分区,5开始表示的是逻辑分区,比如sda3表示第一个scsi硬盘的第三个主分区或者扩展分区

-------------------------------------------------split line---------------------------------------------------------

Shell

当我们在终端中输入命令行时,shell负责将我们输入的命令行解析成系统能够识别的命令并执行。除此之外,shell还能用于进行程序设计,类似windows中的批处理文件。

shell有不同的种类,例如:

名称

命令名称

Bonrne

/bin/sh

C

/bin/csh

Kom

/bin/ksh

查看当前系统有几种shell,命令行如下:

ls -l /bin

可以选择系统中采用何种shell,命令行如下:

chsh -s /bin/csh

可以查看当前系统中使用哪种shell,命令行如下:

env

shell具有命令行补全功能,比如输入命令m,双击tab,系统会显示所有以m开头的命令行

-------------------------------------------------split line---------------------------------------------------------

crontab

任务调度命令,是指系统在某个时间执行的特定的命令或程序

设置任务调度命令:crontab -e

当输入该命令,会跳出一个可编辑文本框,在其中输入需要执行的相关命令,格式如下:

* * * * * 需要执行的命令

星号分别表示:分钟 小时 日期 日历 星期 *表示每单位执行一次,也可以用相应的数字表示

例:每天200执行date命令:2 * * * * date

如果有多个任务需要同时执行,有两种常用处理方法:

1.全部写入crontab -e

2.采用shell编程,写一个可执行文件,然后在crontab -e中执行该文件

例:* * * * * /root/test.sh

其他crontab命令:

1.crontab -r:终止所有任务调度

2.crontab -l:列出当前有哪些任务调度

-------------------------------------------------split line---------------------------------------------------------

still。。。


你可能感兴趣的:(Linux学习)