Linux基础汇总

linux这部分的知识倒不是笔试面试必考的内容,不过现在很多公司开发环境都在linux系统下,一些简单的知识还是需要了解一下的,笔试面试中万一碰到了,也不会措手不及。作为菜硕的我,又因为读研期间的项目大部分是windows下的开发,在当时面试过程中就闹过几次笑话。尴尬过后也找了本书啃了啃,顺便找了个视频(韩顺平老师讲的linux,对初学者还是有趣又易懂的,地址http://www.jiaochengku.net/html/special/linux_hanshunping/)看了看,当然,自己装了个虚拟机玩了玩,也总算能懂一些了。这里做个linux知识点的简单总结吧,可能对没什么基础的初学者有些用,大部分有linux基础的童鞋们就请自动略过此节吧-_-||而且,学习或者复习linux这个东西,强烈建议不要光看书,一定动手敲一敲,玩一玩,会上手快得多。

linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用linux。 linux内核:redhat 、红旗linux、ubuntu、suse、fedora,它们的内核都是一样的(Note:linux其实是一个统称,就比如面条是一个统称,可以有哨子面、阳春面、打卤面等)

linux的特点

         - 免费的/开源

         - 支持多线程/多用户

         - 安全性好

         - 对内存和文件管理优越

 

关机命令

    shutdown -h now(立即进行关机)     

shutdown -r now (现在重新启动计算机)     

reboot (现在重新启动计算机)

 

    进入桌面

             startx

 

    用户登录

     登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份

 

    用户注销

     在提示符下输入logout即可

 

      常用命令介绍

     pwd,显示当前在哪个路径下

 

      linux的用户管理  管理员用户权限

     useradd 用户名,添加用户

     【案例】useradd xiaoming

     passwd 用户名,为新用户设密码

     【案例】passwd xiaoming,修改小明的密码

     userdel 用户名,删除用户

     【案例】userdel xiaoming,删除用户但保存用户主目录

     【案例】userdel ‐ xiaoming,删除用户以及用户主目录

     who am i,当前用户是谁

 

     cd,改变目录

     ls,列出文件和目录

     ls ‐a,显示目录下的所有文件,包括隐藏文件

     ls ‐l,显示长列表格式

     mkdir,建立目录

     rmdir,删除空目录

     touch,建立空文件

     cp,复制命令

     【案例】cp ‐r dir1 dir2,递归复制命令(复制子目录信息)

     mv,移动文件和改文件名

     rm,删除文件和目录

     rm ‐rf *,删除所有内容,包含目录和文件,r表示递归,f表示强制

     ln,建立符号连接,类似于建立某个文件的快捷方式

     more,显示文件内容带分页,ctrl + page up上翻,长空格下翻

     less,显示文件内容带分页

     grep,在文本中查询内容

     【案例】假设存在某个文件test中含有the关键字,此时可以使用grep名命令来查找

<span style="font-size:14px;">root@ubuntu:/home/michael# grep -n 'the' test 
8:I can't finish the test.
12:the symbol '*' is represented as start!
15:You are the best is mean you are the no. 1!
16:The world <Happy> is the same with "glad"!
18:google is the best tools for search keyword!
</span>

     【案例】ls ‐l /etc/ | more

     - man [command],帮助,类似于dos中的help

     

- find,搜索文件及目录。在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而“find”命令可以解决上述问题

- 在特定的目录下搜索并显示指定名称的文件和目录

【案例】find / -name man:意思是说从根目录开始搜索名称为man的文件或目录

- 搜索一段时间内被存取/变更的文件或目录

【案例】find /home -amin -10:十分钟内存取的文件或目录

【案例】find /home -atime +10:十分钟前存取的文件或目录

【案例】find /home -cmin -10:十分钟内更改过的文件或目录

【案例】find /home -ctime +10:十分钟前更改过的文件或目录

 

- 搜索指定大小的文件

【案例】find /home -size +10k:意思是说查找/home目录下大于10k的文件

-size n[cwbkMG]

           File uses n units of space.  The following suffixes can be used:

 

           b   for 512-byte blocks (this is the default if no suffix is used)

 

           c   for bytes

 

           w   for two-byte words

 

           k   for Kilobytes (units of 1024 bytes)

 

           M   for Megabytes (units of 1048576 bytes)

 

           G   for Gigabytes (units of 1073741824 bytes)

注意:默认单位是b,而它代表的是512字节,所以2表示1K,1M则是2048,如果不想自己转换,可以使用其他单位,如c、K、M等。

例子:查找当前目录下文件大小为2048(2k)字节的文件

find ./ -size 4

find ./ -size 2048c

find ./ -size 2K

上述查找文件是等于指定大小的,那能不能查询大于或小于某个指定值的文件呢,答案是肯定,例如:

查找大于2K的文件,+ 表示大于

find ./ -size +2048c

 

查找小于2K的文件,- 表示小于

find ./ -size +2048c -type f

 

- 重定向命令

- ls -l > a.txt,列表的内容写入文件a.txt中(覆盖写)

- ls -al >> aa.txt,列表的内容追加到文件aa.txt的末尾

- 从文件中输入信息:database_program< database_data

- en,查看环境变量 

 

- 压缩和解压

- 以zip和unzip处理.zip文件

- zip命令的基本使用方法

- zip file.zip *:zip后接压缩后的文件名,在它的后面输入要压缩的文

件即可

- 压缩后,自动删除原文件

【案例】zip m file.zip to.txt:把to.txt文件压缩成file.zip文件,to.txt会自动删除的

- 将子目录一起压缩

【案例】zip ‐r file.zip *:将当前目录下的子目录一起压缩

- 忽略子目录的内容

【案例】zip ‐j file.zip *

- 将已压缩的或没有必要压缩的文件去掉

【案例】zip ‐n .mpg: .jpg: .gif:第一种文件中间要用“:”分开

- 压缩某一日之后的文件

【案例】zip ‐t 102002 file.zip:将当前目录下在2002年10月20日之后文件压缩

- 不压缩链接文件的原文件

【案例】zip ‐y file.zip *

- 压缩率问题,-1~-9,其中-9的压缩率最高

【案例】zip -9 file.zip *

- 将不需要压缩的文件排除在外

【案例】zip file.zip * -x file2.txt:在压缩时,将当前目录内的file2.txt文件排除在外

- 以unzip命令进行.zip文件的解压缩

- 直接解压缩文件

【案例】unzip file.zip

- 排除不需要解压缩的文件

【案例】unzip file.zip ‐x file2:除了file2文件外,其他的文件都解压缩

- 查看压缩包的内容

【案例】unzip ‐Z file.zip:查看file.zip压缩包的内容,也可以使用“-l”“-v”来查看压缩包的内容

- 以gzip和gunzip处理.gz文件

 

 

     在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

1)所有者:一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。用ls ‐ahl命令可以看到文件的所有者。也可以使用chown 用户名文件名来修改文件的所有者。

2)文件所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组,用ls ‐ahl命令可以看到文件的所有组,也可以使用chgrp 组名文件名来修改文件所在的组。

3)其它组:除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

 

 

文件权限

     ls -l中显示的内容如下:

     -rwxrw-r- - 1 root root 1213 Feb 2 09:39 abc

 

- 10个字符确定不同用户能对文件干什么

- 第一个字符代表文件(-)、目录(d),链接(l)

- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

- 第一组rwx:文件所有者的权限是读、写和执行

- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

 

- 1 表示链接的文件数

- root 表示用户

- root表示用户所在的组

- 1213 表示文件大小(字节)

- Feb 2 09:39 表示最后修改日期

- abc 表示文件名

 

改变权限的命令

chmod 改变文件或目录的权限

chmod 755 abc:赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

 

改变所有者(chown)和用户组(chgrp)命令

chown xiaoming abc:改变abc的所有者为xiaoming

chgrp root abc:改变abc所属的组为root

chown root ./abc:改变abc这个目录的所有者是root

chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

 

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个

用户所在的组

- usermod ‐g 组名 用户名

你可以用 - usermod ‐d 目录名用户名,改变该用户登录的初始目录

 

linux分区详解

硬盘的分区主要分为基本分区(Primary Portion)和扩展分区(Extension Portion)两种。只是针对一个硬盘来讲,基本分区和扩展分区的数目之和不能大于4个,且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么有扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Portion),而且逻辑分区没有数量上限制

 

对windows用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录。它们的文件结构都是独立的,非常好理解。但对这些用户初上手Redhat Linux,可就有点恼人了。因为对Redhat Linux用户来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录、一个独立且唯一的文件结构。Redhat Linux中每个分区都是用来组成整个文件系统的一部分。因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来。这时要载入的那个分区将使它的存储空间在这个目录下获得。

 

几个重要命令

挂载命令

mount [-parameters] [设备名称] [挂载点]

卸载命令

umount [挂载点]

查看磁盘使用情况

df [-parameters]

- df -h

- df ‐l

- df [目录全路径],查看某个目录是在哪个分区

 

查看linux系统分区具体情况

fdisk ‐l

 

shell编程

其实作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面。shell还可以用来进行程序设计。它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中批处理文件,称为shell script,又叫shell程序或shell命令文件。

 

shell脚本文件:

- 是一个文本文件

- 命令的集合

- 有执行的权限

- 执行方式(./文件名)

 

用export可以临时加入一个系统路径,如export PATH=$PATH:$HOME/bin:/root/test/t1,输出环境PATH,引用原来的值$PATH,$HOME表示工作主目录,:是路径分隔符

 

shell通配符

- *代表多个字母或数字

- ?代表一个字母或数字

【案例】ls a* ls a? ls f080[1-6].tif

 

 

- 转义字符\

【案例】ls /mnt/win1/My\Documents

 

- 单引号:不处理任何变量和命令

【案例】echo ‘Welcome $NAME, the date is date ’

 

- 双引号:处理变量但不处理命令

【案例】echo “Welcome $NAME, the date is date “

 

- 反引号:把引号中的每个单词作为一个命令,如果是变量则先求值然后作为一个命令处理

【案例】echo “Welcome $NAME, the date is `date` “

 

 

查阅历史记录

- history,查看使用过的命令的历史记录

- history 5,此项说明会显示最近使用的5个命令

- !5,此项说明执行历史编号为5的命令

- !ls,此项说明执行最后一次以“ls”开头的命令

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值