bash-shell详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andrewgithub/article/details/82920131

linux操作系统的基本组成

  1. Kernel
  2. Modules
  3. Lib
  4. Shell
  5. Tools

硬件:CPU PCI(各种总线) IDE
安装双系统要先安装winddows然后在安装linux,Linux会更改windows上的MBR(用于寻找bootloader),再次启动就会出现,选择启动那个系统;

--------------------------------
shell 内建命令
shell  外部命令
--------------------------------
内部命令是集成在之中的shell的命令,单独独立的程序可以直接被shell调用的是外部命令
使用:

man 1 ls
将ls 换成你要查看的命令就可以产看命令的帮助信息了

在进入到界面的时候:
q键是退出
/-F 是查找  -F
在进行查找的时候,按  n是查找下一个
若是按  N(shift + n) 就是查找上一个的意思
可以快速的定位自己要找的命令信息

当使用vim编辑一个文件,非正常的中断的时候,往往会出现.filename.swp的文件,这种文件先不要删除,因为可已使用 vim -r filename的形式再次打开文件,会调用后缀为swp的文件对原来受损的文件进行修复,修复之后可手动删除 后缀为swp的文件

使用键盘关闭计算机:
1.在关闭窗口的时候,要是不想使用鼠标,可以直接使用Alt + F4进行关闭,并且只要是显示的桌面的时候可以直接调出关闭计算机的界面;
2.使用命令行:
widows 上是 shutdown -p
linux上是使用 poweroff

man 5 +文件名称 看文件类型的说明
如:
man 5 passwd
想看 man 的具体用法使用:

man 7 man

使用stat命令查看文件的状态信息:
pstt为一个可执行文件:

andrew@andrew-Thurley:~$ stat pstt
  文件:'pstt'
  大小:27464     	块:56         IO 块:4096   普通文件
设备:801h/2049d	Inode:11405851    硬链接:1
权限:(0755/-rwxr-xr-x)  Uid:( 1000/  andrew)   Gid:( 1000/  andrew)
最近访问:2018-09-12 00:05:12.469041693 +0800
最近更改:2018-09-12 00:05:05.696436422 +0800
最近改动:2

在使用mount 挂载好文件之后,要想进行umount一定要要在根目录下进行umount,否则会提示  umount: /mnt: device is busy
要进入到  根目录下的时候才能进行umount ,要是有文件被占用的时候也是不能使用mount的

1.iso镜像就是将文件包括文件系统本身制作成一个后后缀为iso的文件
在ubuntu上使用cat命令制作ios镜像
2.查看iso文件

1.
cat /dev/cdrom > a.iso   将cdrom中的文件制作成iso文件
想要查看一个iso文件的时候使用:
mount -t iso9660 -o loop a.iso /mnt
然后iso文件就会出现在 /mnt目录下,因为iso文件是二进制文件,
因此必须加  -o 将其虚拟成一个回环设备才能够查看

显示已挂载的设备

showmount(选项)(参数)

-d:仅显示已被NFS客户端加载的目录;
-e:显示NFS服务器上所有的共享目录。
 nfsstat命令用于列出NFS客户端和服务器的工作状态。

nfsstat  选项
-s:仅列出NFS服务器端状态;
-c:仅列出NFS客户端状态;
-n:仅列出NFS状态,默认显示nfs客户端和服务器的状态;
-2:仅列出NFS版本2的状态;
-3:仅列出NFS版本3的状态;
-4:仅列出NFS版本4的状态;
-m:打印以加载的nfs文件系统状态;
-r:仅打印rpc状态。

在使用 ls -l 命令查看文件大小的时候,文件大小的信息不是特别的准,使用du命令来查看。
 df 查看磁盘文件大小
 du查看文件夹下所有文件的大小
ls -l

drwxr-xr-x 2 andrew andrew     4096 8月  23 07:36 Videos
drwxrwxr-x 8 andrew andrew     4096 10月  2 00:09 work
drwxr-xr-x 2 andrew andrew     4096 8月   8 00:11 公共的
drwxr-xr-x 2 andrew andrew     4096 8月   8 00:11 模板
drwxr-xr-x 2 andrew andrew     4096 8月   8 00:11 视频
drwxr-xr-x 2 andrew andrew     4096 10月  2 00:21 图片
drwxr-xr-x 2 andrew andrew     4096 9月  16 20:47 文档
drwxr-xr-x 7 andrew andrew     4096 10月  1 00:43 下载
drwxr-xr-x 3 andrew andrew     4096 8月  25 19:01 音乐
drwxr-xr-x 2 andrew andrew     4096 9月  29 23:24 桌面

可以看到使用ls -l看到的所有目录文件的大小之后4096也就是说使用ls -l查看到的目录文件只显示文件夹的大小
要想查看文件的的大小使用du查看

du 参数
-h 以人类可读的方式进行输出
-s 查看文件夹大小

du + filename  查看文件大小

andrew@andrew-Thurley:~$ du pstt
28	pstt
andrew@andrew-Thurley:~$ du -h pstt
28K	pstt

输出的是文件的大小  以k字节为单位
su 切换用户
su + usrname

ssh 远程登录

远程登录一用户
ssh 192.168.1.107
远程登录指定用户
ssh [email protected]

关闭系统

shutdown -h now  现在关机
init 0    只有一个用户登录的时候使用init0关机处理自己的用户的事情,并关机
halt -p -f 或者  poweroff 直接断电关机

重启系统

shutdown -r now
init 6
reboot

图中:1中的x代表是否需要使用密码登录有 x 代表需要密码登录
2中的500是用户  id
3中的501是组id
4为空说明对这个用户的全名没有说明
5的nologin说明用户不能够进行登录 正常的可以登录的用户5处应该是
/bin/bash

在这里插入图片描述

用户的密码都是按照 md5加密之后保存在/etc/shadow文件之中
因为linux使用的是单向加密算法,所以就算是直接将加密之后的值存在shadow文件中也能保证文件的密码的安全。
单向加密使用的计数是只能正想进行加密,加密之后生成的加密秘钥,不能够进行反向运算求出原来的密码
唯一可以进行的就是使用对比,加密之后两串字符串相等是说明输入的密码是正确的,否则错误的

---------------------------------

-l中显示的内容如下:

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

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

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

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

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

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

  • 第三组r–:不与文件所有者同组的其他用户的权限是读不能写和执行
    在这里插入图片描述

文件的存储和文件权限:

chmod a=rwx a.out

which用于查找可执行命令:
which返回的是哪个命令会先被执行

andrew@andrew-Thurley:~$ which ls 
/bin/ls

whereis 可以查看第一个可执行文件,还可以查到文件的帮助文件所在的位置
locate slocete.db文件中从数据库中查找文件
使用locate要注意要是没有进入数据库的文件是查找不到的,非使用updatedb进行数据库更新之后才能够查找到

一般使用的顺序是先;
updatedb 
然后
locate + filename

将两者结合使用

查找指定文件查找到了之后,删除该文件
find  /home  -name "filename" -exec rm {} \;
查找指定为文件,查找到之后,使用交互的方式删除该文件
find  /home  -name "filename" -ok rm {} \;
查找用户为andrew 的文件
find /home -user andrew -ls
查找用户为andrew 组也为andrew的用户
其中的  -a 代表的是and的意思,也就是说使用 find命令支持使用逻辑
-o 为或的意思
find /home  -user -a -group andrew -ls
查找文件,并指定查找的文件类型为文件夹
find  /home  -user andrew -o -group andrew -a  -type d


猜你喜欢

转载自blog.csdn.net/andrewgithub/article/details/82920131