linux学习

时间 2018/12/8 19:14:37 加载中...

介绍

Linux 是由芬兰的 Linus Torvalds 即 林纳斯·托瓦兹 创造的。
林纳斯·托瓦兹 只是开发 Linux 的内核。相当于主要功能。
而其他厂商在内核的基础上,又开发了自己的一些功能,形成了不同的 Linux 发行版。
比如:红帽 RedHat,乌班图 Ubuntu,红旗 等等。

Linux 的版本

偶数是正式版,奇数是开发版本。

安装

硬盘上内容的存储并不是连续的,类似于哈希表的存储。

哈希表

哈希表存一个字符串的时候,首先会通过hashcode方法来计算字符串的哈希值,然后存在哈希表唯一对应的位置上。
哈希值可能有重复,所以一个哈希值位置上一般是字符链表,存在着多个字符串。

哈希表上查找字符串特别快,原因是 当查找一个字符串时,先计算这个字符串的hashcode,然后看这个hashcode位置上有没有这个字符串。另一种情况,如果这个位置上是一个链表,则还需要比较两个字符串的equals。

所以,在哈希表上查找数据,不仅要hashcode相同,还要equals相同。

硬盘分区

硬盘分区有: 主分区 扩展分区 逻辑分区
主分区 和 扩展分区 最多有4个,而 扩展分区 还可以有多个 逻辑分区。
硬盘的分区信息是记录在 分区表 中,而传统的分区表只能记载4条记录,所以最多 有4个分区,而更多的是 逻辑分区。

Linux下的分区

在Linux下,所有的设备都被认为是文件。
文件又分 字符形式、二进制形式
/dev/ 目录下包含了系统的所有设备。
其命名规范如下:

前两个字母表示分区所在的设备类型
hd - IDE硬盘
sd - SCSI硬盘

第三个字母表示第几个设备
/dev/hda 第1个IDE硬盘
/dev/sdb 第2个SCSI硬盘

最后一个数字表示分区
1~4 主分区或扩展分区
5以后 逻辑分区

hda5 第1个IDE硬盘的第1个逻辑分区
hda5 第1个IDE硬盘的第2个逻辑分区

命令

进入某目录

cd / 进入根目录
cd s tab tab 查看当前目录下以s开头的文件
cd dev 进入dev目录
cd .. 进入上级目录

查看内容

ls 查看当前目录内容
ls -l 查看当前目录内容(以列表形式)
grep abc my.txt 输出my.txt中包含abc的那行内容

whoami 查看当前用户

新建,删除相关

mkdir mydir 创建一个名为mydir的目录
rmdir mydir 删除一个名为mydir的目录
touch mytest 创建一个mytest文件 touch还能修改某文件时间

rm test.txt 删除test.txt文件
rm -rf test 删除test目录

参数 -r 将目录及以下内容逐一删除,r 是 recursive(递归adj) 的简写
参数 -f 是只读文件,也直接删除,不用确认

cp -r /test newtest 复制test目录及下面所有文件
mv /test newtest 移动test目录及下面所有文件,相当于重命名

mount /dev/cdrom /mnt/cdr 将光盘挂载到cdr下面
mount /dev/cdrom 卸载命令
man shutdown 查看shutdown命令使用方法

cat 命令用于连接文件并打印到标准输出设备上
cat 1.txt > 2.txt 相当于复制了一份1.txt
cat -n 1.txt > 2.txt 将1.txt的内容加入行号后写入到2.txt文件中
cat 1.txt 2.txt > 3.txt 合并1.txt和2.txt并写到3.txt文件中,3.txt原内容没了·
cat 1.txt 2.txt >> 3.txt 合并1.txt和2.txt并追加到3.txt文件中

more命令,翻页查看文件,space查看下一页,back回退一页。
more -10 3.txt 查看3.txt文件,每10行一页
more +10 3.txt 从第10行开始查看3.txt文件
more s 3.txt 查看3.txt文件,2个空白行,则用1个空白行显示。

find / -name *.local 在根目录下查找名字里有local的文件
whereis ls 查看ls命令是执行的哪里的文件
echo $PATH 查看linux下的path,注意这里的path要大写

shutdown now -rreboot 现在重启
shutdown now 现在关机

压缩

解压
yum install -y unzip 安装unzip命令
unzip bdms.war -d ./bdms 解压bdms.war包到当前目录的bdms文件夹中

vi 常用命令

切换到insert模式 i
切换到命令模式 esc
保存文件并退出 :wq
不保存文件退出 :q!

挂载

不像Windows操作系统,读取光盘上的信息直接访问光盘目录即可,在Linux下面需要先挂载,在 /mnt/ 目录下,新建一个目录“cdr”,mkdir cdr,挂载光盘到此目录下
mount /dev/cdrom /mnt/cdr,这样访问 /mnt/cdr目录就可以了。

用户管理

添加用户testuser,命令为useradd testuser 或者 adduser testuser
新增一个用户后,可以在 /home 目录下看到为新用户准备的目录。
另外,在etc目录下某个文件也发生了变化,使用命令查看 more /etc/passwd
为新用户指定密码,命令为passwd testuser

新增用户的时候,如果没有指定组,则会新增一个同用户名相同的组。
查看组信息tail -10 /etc/group,这个命令的话,我们只看最后10行。

新增一个组:groupadd g1
新增用户并指定组:adduser user7 -g g1 添加user7用户并指定为g1组
修改用户所在组:usermod -g g1 user6 修改user6用户指定为g1组
删除用户:userdel user6 删除user6用户

文件权限

使用命令ls -l可以查看文件的详细信息。
在最前面有 drwxr-xr-x. 类似的字符,这描述了文件的相关信息。

第一个字符
d:表示 目录
l:表示 链接
-:表示 文件

后面个字符,每3个一组,共三组
第一组表示 当前用户的权限
第二组表示 和自己同组人的权限
第三组表示 其它人的权限

每一组的三个字符又分别代表:
rwx
r:read 读权限
w:write 写权限
x:execute 执行权限

相对应的,如果没有权限,则用 - 表示

比如:
drw-r- -r- - 表示
当前用户有读写权限,无执行权限。
同组用户只有读权限,无写权限,无执行权限。
其它人和同组用户权限相同。

修改权限

文件添加写权限
chmod +w my.txt
文件去除写权限
chmod -w my.txt

上面是三组均会添加写权限,如果只是给自己添加写权限,则为
chmod u+w my.txt
对应还有 同组权限,其它人权限
chmod g+w my.txt chmod o+w my.txt

直接修改3组的权限,还可以这样写
chmod 755 my.txt
755 代表 wrx w-x w-x
因为
7 为二进制的 111 4+2+1=7
5 为二进制的 101 4+0+1=5
所以,wrx 对应数字7,w-x 对应数字5
而755,即对应了三组的各个权限。

修改文件所属人
chown testuser2 my.txt

扫码分享
版权说明
作者:SQBER
文章来源:http://www.sqber.com/articles/linux-learn.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。