您的位置:首页 > 运维架构 > Shell

Linux—基本shell用法详解

2017-12-15 21:05 246 查看
1.查看系统磁盘容量

 
使用“df -k”命令,以KB为单位显示磁盘使用量和占用率。

  使用“df -m”命令,以M为单位显示磁盘使用量和占用率。

  使用 “df -k /home”命令,以KB为单位显示home目录磁盘使用量和占用率

  使用 “df -m /home”命令,以MB为单位显示home目录磁盘使用量和占用率

  使用“du -k /home”命令,列出home目录下所有文件或目录占用的大小,以KB作为计量单位。

  使用“du -ck /home”命令,列出home目录下所有文件或目录占用的大小,以KB作为计量单位。以及统计出当前home目录占用的
总大小。



2. 压缩/解压

2.1 使用介绍

打包:将一大堆文件或目录变成一个总的文件【tar命令】

压缩:将一个大的文件通过一些压缩算法变成一个小文件【gzip,bzip2等】
Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。
2.2 tar语法

语法:tar [主选项+辅选项] 文件或目录
使用该命令时,主选项必须有,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:【一条命令以下5个参数只能有一个】
-c: --create 新建一个压缩文档,即打包
-x: --extract,--get解压文件
-t: --list,查看压缩文档里的所有内容
-r:--append 向压缩文档里追加文件
-u:--update 更新原压缩包中的文件
辅助选项:
-z:是否同时具有gzip的属性?即是否需要用gzip压缩或解压?一般格式为xxx.tar.gz或xx.tgz
-j:是否同时具有bzip2的属性?即是否需要用bzip2压缩或解压?一般格式为xx.tar.bz2
-v:显示操作过程!这个参数很常用
-f:使用文档名,注意,在f之后要立即接文档名,不要再加其他参数!
-C:切换到指定目录
--exclude FILE:在压缩过程中,不要将FILE打包
2.3 -C参数

-C(大C参数很有用,改变文件目录,多层时用)  -C, --directory=DIR        change to directory DIR
使用了-C参数改变目录为-C后面 目录,不管是在打包还是解压都很有用。

解压img.tar到当前目录下的temp目录

$ tar -xf img.tar -C temp

2.4 解压总结

1)*.tar 用 tar –xvf 解压

2)*.gz 用 gzip -d或者gunzip 解压

3)*.tar.gz和*.tgz 用 tar –xzf 解压

4)*.bz2 用 bzip2 -d或者用bunzip2 解压

5)*.tar.bz2用tar –xjf 解压

6)*.Z 用 uncompress 解压

7)*.tar.Z 用tar –xZf 解压

8)*.rar 用 unrar x 解压

9)*.zip 用 unzip 解压

3. 修改主机名

3.1 永久修改主机名

在Ubuntu系统中永久修改主机名也比较简单。主机名存放在/etc/hostname文件中,修改主机名时,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。重启系统后,参照上面介绍的快速查看主机名的办法来确认主机名有没有修改成功。

值的指出的是,在其它Linux发行版中,并非都存在/etc/hostname文件。如Fedora发行版(centos)将主机名存放在/etc/sysconfig/network文件中。所以,修改主机名时应注意区分是哪种Linux发行版。

/etc/hostname与/etc/hosts的区别

/etc/hostname中存放的是主机名,hostname文件的一个例子:v-jiwan-ubuntu-temp

/etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字,hostname文件的一个例子:

127.0.0.1       localhost

127.0.1.1       v-jiwan-ubuntu

4.修改文件、目录所属用户和目录权限

4.1 修改某个目录下所有文件的权限

如果子目录中的文件权限也要修改,则使用参数-R启动递归处理。

例如:

把/home/user目录的权限设置为rwxrwxrwx,不包括子目录:

[root@localhost ~]# chmod 777 /home/user

把/home/user目录的权限设置为rwxrwxrwx,包括子目录:

[root@localhost ~]# chmod -R 777 /home/user 

4.2 修改文件的权限

[root@localhost ~]# chmod 777 /home/user/test,txt

4.3 修改目录所属用户
修改某个目录下所有文件的所属用户,如果子目录中的文件所属用户也要修改,则使用参数-R启动递归处理。

例如:

把 /home/mongodb目录的所属用户改为hadoop,不包括子目录

sudo chown hadoop:hadoop mongodb           

把 /home/mongodb目录的所属用户改为hadoop,包括子目录

sudo chown -R hadoop:hadoop mongodb/

4.4 修改文件所属用户

把/home/user/test.txt的所属用户设置为hadoop:

 sudo chown -R hadoop:hadoop/home/user/test,txt

5 linux创建用户、设置密码、修改用户、删除用户

5.1 创建用户、设置密码、修改用户、删除用户
useradd testuser     创建用户testuser
passwd testuser      给已创建的用户testuser设置密码
说明:新创建的用户会在/home下创建一个用户目录testuser
usermod --help       修改用户这个命令的相关参数
userdel testuser       删除用户testuser
rm -rf testuser         删除用户testuser所在目录
上面的几个命令只有root账号才可以使用创建新用户后,同时会在etc目录下的passwd文件中添加这个新用户的相关信息
说明:为了截图,此处使用了tail -3 passwd命令,只将该文件的最后3行信息(也是我关注的信息)显示出来

5.2 命令行窗口下用户的相互切换
su 用户名
说明:su是switch user的缩写,表示用户切换
从新的用户状态下输入“exit”即可退回到刚才的用户状态



6 linux下的缓存机制及清理buffer/cache/swap的方法

6.1 Swap用途
     Swap意思是交换分区,通常我们说的虚拟内存,是从硬盘中划分出的一个分区。当物理内存不够用的时候,内核就会释放缓存区(buffers/cache)里一些长时间不用的程序,然后将这些程序临时放到Swap中,也就是说如果物理内存和缓存区内存不够用的时候,才会用到Swap。
         关闭SWAP分区:swapoff
-a


         可以开启SWAP分区: swapon
-a


    注意:这样清理有个前提条件,空闲的内存必须比已经使用的swap空间大
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell