非常实用的Linux入门级学习笔记
Linux是一款操作系统它与windows相比只是没有图形界面了,所以一般的用户都不会使用linux系统了,但是如果是服务器linux要比windows强大的多,下面一起来看看小编整理的Linux入门级学习笔记.
1. 磁盘管理
1.1 查看磁盘分区信息(修改分区)
方法1:查看 /proc/partitions 文件:
- [root@localhostTestLabs]#cat/proc/partitions
- majorminor#blocksname
- 8067108864sda
- 81512000sda1
- 8266595840sda2
- 253031985664dm-0
- 25312064384dm-1
- 253232542720dm-2
方法2:执行命令 fdisk -l
- [root@localhostTestLabs]#fdisk-l
- Disk/dev/sda:68.7GB,68719476736bytes
- 255heads,63sectors/track,8354cylinders
- Units=cylindersof16065*512=8225280bytes
- Sectorsize(logical/physical):512bytes/4096bytes
- I/Osize(minimum/optimal):4096bytes/4096bytes
- Diskidentifier:0x00043e44
- DeviceBootStartEndBlocksIdSystem
- /dev/sda1*16451200083Linux
- Partition1doesnotendoncylinderboundary.
- /dev/sda2648355665958408eLinuxLVM
修改分区可以使用 fdisk [分区名称] 进入交互界面进行磁盘分区管理,如所示:
- [root@localhostTestLabs]#fdisk/dev/sda
- Thedevicepresentsalogicalsectorsizethatissmallerthan
- thephysicalsectorsize.Aligningtoaphysicalsector(oroptimal
- I/O)sizeboundaryisrecommended,orperformancemaybeimpacted.
- WARNING:DOS-compatiblemodeisdeprecated.It'sstronglyrecommendedto
- switchoffthemode(command'c')andchangedisplayunitsto
- sectors(command'u').
- Command(mforhelp):m
- Commandaction
- atoggleabootableflag
- beditbsddisklabel
- ctogglethedoscompatibilityflag
- ddeleteapartition
- llistknownpartitiontypes
- mprintthismenu
- naddanewpartition
- ocreateanewemptyemptyDOSpartitiontable
- pprintthepartitiontable
- qquitwithoutsavingchanges
- screateanewemptyemptySundisklabel
- tchangeapartition'ssystemid
- uchangedisplay/entryunits//phpfensi.com
- vverifythepartitiontable
- wwritetabletodiskandexit
- xextrafunctionality(expertsonly)
- Command(mforhelp):
1.2 创建文件系统
使用命令 mke2fs -t [要创建的文件系统类型] [磁盘]
[root@localhost TestLabs]# mke2fs -t ext4 /dev/sda3
常用参数:
-b blocksize 指定文件系统块大小
-c 创建的时候检查坏块
-L 指定卷标
-j 建立文件系统日志
1.3 磁盘挂载
挂载磁盘,使用mount [要挂载的分区] [挂在点]命令,直接使用mount命令将会列出已经挂载的分区.
常用参数:
-t 指定文件系统的类型
-o 指定挂载选项(ro[只读],rw[读写],sync[无缓存,直写],async[缓存,默认],noatime[每次访问不更新文件访问时间],atime[每次访问更新文件访问时间],remount[重新挂载])
#mount -o remount,sync,noatime /dev/sdb1 /mnt/
使用命令 umount [文件系统/挂载点] 卸载已经挂载的文件系统,使用命令 lsof 查看打开了那些文件,一般可以在无法卸载磁盘的时候用于查看已经打开的文件,后面跟上磁盘,可以列出该磁盘上哪些文件打开了.
或者 如果无法卸载,提示文件正在被使用,可以使用fuser -m /mnt 查看文件系统的进程,如果要实现自动挂载,可以修改 /etc/fstab文件实现,该文件中新增一条记录就可以了,文件行结构如下所示:
/dev/sda3 /mnt ext4 defaults 0 0
需要挂载的设备 挂载点 文件系统 挂载选项 dump,fsck相关选项,使用mount -a 会挂载fstab文件中的所有自动挂载项.
2. 用户及权限基础
2.1 用户基础
用户分为三类:
root用户,id为0的用户
系统用户,没有shell(/sbin/nologin or /bin/false),id范围为1-499
普通用户,id为500+
使用id可以查看当前用户的信息,用户配置文件为/etc/passwd,该文件保存了所有用户的基本信息,该文件所有用户均可以访问,因此,密码并不在该文件中存放,用户的密码存放在/etc/shadow文件中,该文件只有root用户可以访问.
另一个配置文件 /etc/group 为用户组的配置文件,包含了组的信息,查看当前用户whoami,who,w,命令越长,显示的内容越少.
- localhost:bashmylxsw$whoami
- mylxsw
- localhost:bashmylxsw$who
- mylxswconsoleMay2720:50
- mylxswttys000May2821:39
- localhost:bashmylxsw$w
- 22:20up1day,1:31,2users,loadaverages:2.221.821.68
- USERTTYFROMLOGIN@IDLEWHAT
- mylxswconsole-二2025:29-
- mylxsws000-21:39-w
2.1.1 添加新用户
添加新用户使用命令useradd,如下.
- [root@localhostmylxsw]#useraddaicode
- [root@localhostmylxsw]#cat/etc/passwd
- root:x:0:0:管宜尧:/root:/bin/bash
- ...
- mylxsw:x:500:500::/home/mylxsw:/bin/bash
- aicode:x:501:501::/home/aicode:/bin/bash
以上命令执行后会添加一个新用户,用户名为aicode,可以看到,该命令在/etc/passwd中添加了一条用户信息记录.
该命令会为用户创建一个home目录,在/home/用户名,还会为用户建立一个用户组,改组名与用户名称相同,同时,会把/etc/skel目录下的文件复制到用户目录中,/etc/skel目录为用户初始化目录,如果需在新建用户时初始化一些用户信息,可以在该目录中修改,类似于模板.
常用参数:
- -d指定用户home目录
- -s用户登陆shell
- -u指定用户id
- -g指定用户的主组
- -G指定用户的附属组(最多31个,用“,”分隔)
2.1.2 修改用户信息
通过命令usermod [参数] [用户名] 修改用户信息.
常用参数:
- -l新的用户id
- -d指定用户home目录
- -s用户登陆shell
- -u指定用户id
- -g指定用户的主组
- -G指定用户的附属组(最多31个,用“,”分隔)
- -L锁定用户,使其不能登陆
- -U解除对用户的锁定
2.1.3 删除用户
使用命令userdel [用户名]删除用户,删除用户操作不会删除用户的home目录,如果要删除home目录,需要增加-r参数.
2.1.4 组的创建、修改、删除
- 创建组groupadd[组名]
- 修改组名groupmod-n[新组名][旧组名]
- 修改组idgroupmod-g[新组id][旧组id]
- 删除组groupdel[组名]
Linux操作技巧收集
使用pushd和popd命令快速切换目录,经常会有这么一种情况,我们会在不同目录中进行频繁的切换,如果目录很深,那么使用cd命令的工作量是不小的,这时可以使用pushd和popd命令快速切换目录.
- $pwd
- /Users/mylxsw/codes/php/lecloud/api
- $pushd.
- ~/codes/php/lecloud/api~/codes/php/lecloud/api
- $cd../album/
- $pwd
- /Users/mylxsw/codes/php/lecloud/album
- $popd
- ~/codes/php/lecloud/api
- $pwd
- /Users/mylxsw/codes/php/lecloud/api
创建软连接的时候出现Too many levels of symbolic links的错误信息,创建软连接的时候使用绝对路径就可以解决,不要使用相对路径.
localhost:~ mylxsw$ ln -s /Users/mylxsw/其它/app /Users/mylxsw/app
使用SCP命令在服务器和本地计算机之间传递文件.
- usage:scp[-12346BCEpqrv][-ccipher][-Fssh_config][-iidentity_file]
- [-llimit][-ossh_option][-Pport][-Sprogram]
- [[user@]host1:]file1...[[user@]host2:]file2
从服务器下载文件:scp username@服务器地址:/path/文件名 本地保存路径
上传文件到服务器:
scp 本地文件路径 username@服务器地址:/保存到服务器的路径
Tip:如果要操作的对象是整个目录的话,需要添加-t参数.
使用范例:
- localhost:Downloadsmylxsw$scpguanyy@10.10.10.10:/home/guanyy/download.db./
- guanyy@10.10.10.10'spassword:
- download.db100%25MB24.7MB/s00:01
Mac OS 清理DNS缓存:dscacheutil -flushcache
Cent OS服务器安装PHP的pecl,想要安装某个PHP扩展,但发现服务器上没有pecl,因此需要安装pecl.
$ sudo yum install php-pear
安装pear之后,pecl就有了,在当前目录下查找大小超过100MB的文件.
find . -type f -size +100M
拷贝镜像到U盘:dd if=yourimage.img of=/dev/sdb1
使用基于文本的图形界面配置命令setup
安装setup命令:$ sudo yum install setuptool
安装之后,需要安装一些常见的系统配置组件,也是使用yum:
$ sudo yum install system-config-services system-config-firewall system-config-network-tui
更多的配置组件可以使用yum search system-config命令查看,进入配置界面直接使用setup命令.
热门评论