Linux讲解-day1-linux常用命令+挂载(案例)

未匹配的标注

Linux常用命令

准备

1、命令提示符

[root@localhost ~]#

[当前登陆用户@主机名 当前所在目录] 用户区分符号  
~ 用户家目录
\# 超级管理员    
$ 普通用户

2、文件命名

不要用特殊符号($?-=<>|@…)和 / 命名
不要用 . 和 .. 表示当前目录和上层目录
用 . 开头表示隐藏文件
严格区分大小写

3、文件颜色

bash下可根据文件后缀名自动适配颜色,具体查看 /etc/DIR_COLORS文件描述

4、命令格式

<pre>`命令 [选项] [参数]
`</pre>

5、一切皆文件

## 一、目录和文件

1、ls    用于显示目录中的文件信息,常用选项:

`
ls -a   //显示所有文件(隐藏)
ls -al  //长格式显示所有文件
ls -lh  //文件大小按常见单位显示
ls -dl  //显示目录本身详细信息
`

2、cd    切换所在目录

<pre>`
绝对路径和相对路径的问题
cd      //回到当前用户家目录
cd -        //返回上一次操作目录
cd ..       //返回上一级目录

Linux 一级目录介绍
/           根目录
    /bin        命令保存目录(普通用户就可以读取的命令)
    /boot       启动目录,启动相关文件
    /dev        设备文件保存目录
    /etc        配置文件保存目录
    /home       普通用户的家目录
    /mnt        系统挂载目录
    /media      挂载目录
    /root       超级用户的家目录
    /tmp        临时目录
    /sbin       命令保存目录(超级用户才能使用的目录)
    /proc       直接写入内存
    /usr        系统软件资源目录
    /var        系统相关文档内容
    /var/log/       系统日志位置

`</pre>

3、pwd        查看所在目录的绝对路径

4、mkdir    创建空目录

<pre>`

mkdir -p a/b/c/d/e  //递归创建目录

`</pre>

5、rm    删除文件或目录

<pre>`rm filename     //询问式删除文件
rm -f filename  //强制删除文件
rm -rf dirname  //强制删除目录
`</pre>

6、touch    创建空文件

<pre>`
touch newfile
`</pre>

7、stat    查看文件具体存储信息和时间信息

<pre>`

stat    filename

Access:文件访问时间
Modify:文件内容修改时间,影响最大会同步到Access和Change
Change:文件属性修改时间
三个时间简写为:atime、mtime、ctime
`</pre>

8、cat    查看文本

9、more    翻滚查看文本

10、head 查看文件前N<pre>`

head -n 20 filename  //看文件前20行

`</pre>

11、tail    查看文件后N<pre>`

tail -n 20 filename //看文件后20行
tail -f filename    //实时查看最新文件
`</pre>

12、wc    统计文件

<pre>`

wc -l filename  //查看文件行数
wc -c filename  //查看文件字节数
wc -w filename  //查看文件单词数
`</pre>

13、cp    复制文件或目录

<pre>`

cp [选项] 源文件 目标文件
cp -p       //保留原始文件属性
cp -d       //若对象为“软连接”则保留“软连接”属性
cp -r       //递归复制(目录)
cp -i       //文件存在询问覆盖
cp -a       //-pdr


`</pre>

接着命令:

  • 大多数目标为目录,源文件会拷贝至目录

  • 目标文件和源文件不一致则为改名(另存为)

    14、mv 剪切文件或重命名

    `
    
    mv 源文件 目标目录/目标文件
    如果剪切在同一目录中则为重命名
    
    `

    15、file 查看文件类型

    `
    
    file filename   //检查文件类型
    
    `

    16、ln 创建链接文件

    `
    
    ln -s 源文件   软链接文件       //快捷方式
    ln 源文件  硬链接文件       //拷贝加同步更新
    
    
    
`</pre>
  • 硬链接不能跨分区
  • 硬链接不能给目录
  • 注意链接之间的路径失效问题

二、文件权限

1、权限位
title

<pre>`权限位是十位
第一位:代表文件类型
    -   普通文件
    d   目录文件
    l   链接文件

后九位:
    属主之权限    u=user
    属组之权限    g=group
    其他人权限    o=other

    r   可读      4
    w   可写      2
    x   执行      1
`</pre>

2、chmod 修改权限

<pre>`逻辑描述法:
chmod  u+x  filename       //filename文件的属主加上执行权限
chmod  u-x  filename       // 取消执行权限
chmod  u=rwx filename      // 赋值rwx

数字描述法:
chmod  755  filename
chmod  644  filename
`</pre>

执行结果:

初始权限:
-rw-r--r--  1 root root   13 Apr 23 21:26 test.txt

授权u x
root@xdl-virtual-machine:/var/www/html# chmod u+x test.txt 

权限多了u 的x
root@xdl-virtual-machine:/var/www/html# ll
-rwxr--r--  1 root root   13 Apr 23 21:26 test.txt*

取消u的x
root@xdl-virtual-machine:/var/www/html# chmod u-x test.txt 
查看u的x 没了 其他的也一样
root@xdl-virtual-machine:/var/www/html# ll
-rw-r--r--  1 root root   13 Apr 23 21:26 test.txt

3、权限的意义

权限 对文件的意义 命令
r 对文件可读 cat、more
w 对文件可写 vim、echo
x 可执行文件 sh
权限 对目录的意义 命令
r 可以查看目录中的文件信息 ls、tree
w 可以增删文件和对文件改名 touch、mkdir、rm、mv
x 可以切换至目录 cd

4、chown 修改属主和属组
我们用户组 一般就是root
在你添加用户时候,会默认设置一个与用户名同名的用户组

<pre>`
chown username filename             //修改将文件的所属者(username为用户者)
chown username:groupname filename   //修改文件的所属者和所属组(groupname组名)
chown :groupname filename           //修改文件的所属组(同组名)
`</pre>

代码操作:
我们可以给test.txt 分配给 xdl账户(注意你要有这个账户)
chonw xdl test.txt
title
修改组与所属者
(如果没有组 groupadd 组名即可)详细的明天讲解用户与组的操作

chown xdl:xdl test.txt
title
把组改回来root
chown :root test.txt

目录/链接个数

对于目录文件,表示它的第一级子目录的个数。注意此处看到的值要减2才等于该目录下的子目录的实际个数。

比如这里的include目录下,其实是没有子目录的,所以应该是0,但是它这里却显示2,这是因为要加上.目录和..目录。在linux下,.目录表示当前目录,..目录表示上一级目录。

这也可以解释上图中第一行的.目录下的3和第二行..目录下的26。因为当前目录下有一个include目录,所以加上.目录和..目录这2个目录就等于3,所以第一行会显示3。而上一级目录共有24个目录,加上上一级目录的.目录和..目录这2个目录,所以这里的第二行显示的是26。

对于其他文件,表示指向它的链接文件的个数。

三、帮助

1、–help 帮助选项

<pre>`命令  --help  //查看某命令的帮助信息
`</pre>

vi –help

2、man 查看手册

<pre>`man 命令
`</pre>

man vi

四、查找命令

1、find 查找本地文件

<pre>`find 查找范围 查找条件 匹配值
find  /  -name  index.php       //按照文件名查找

-iname                      //按照文件名查找,不区分大小写
`</pre>

2、grep 在文本中执行关键字搜索

<pre>`grep 关键字 文件
grep -v             //反向选择
grep -i             //忽略大小写
`</pre>

执行:

root@xdl-virtual-machine:/var/www/html# vi test.txt  (这里写入文字我是好人)
root@xdl-virtual-machine:/var/www/html# grep 我 test.txt 
我是好人

3、whereis/which 查找命令所在文件

五、打包压缩

1、tar 对文件进行打包压缩或解压

tar -czvf 压缩文件 [-C] 源文件     //将文件压缩成gz格式
tar -xf 压缩文件                //将压缩包解压

-c  打包
-z  gz格式
-j  bz2格式
-f  目标文件名(压缩包名,必须放在最后)
-v  显示过程
-t  不解压查看
-C  指定压缩位置

代码操作:

tar -czvf test.tar.gz test.txt 
mv test.txt 1.txt 把之前的test.txt 改一个名字
tar -xf test.tar.gz 
ls
发现一毛一样的

六、关机重启

1、reboot    立即重启

2、shutdown    关机

<pre>`shutdown -h now //立即关机
`</pre>

七、获取系统信息

1、ifconfig    网卡信息

2、uname    系统信息

3、uptime    查看系统负载

4、free    内存信息

5、who    查看登录用户

6、last    查看登录记录

八、挂载

1、mount 挂载设备到指定位置



Linux中所有存储设备都必须挂载使用
光盘挂载
    mount    设备描述文件  挂载点(已经存在空目录)
    mount    /dev/sr0  /mnt/cdrom

光盘卸载
umount  /dev/sr0
umount  /mnt/cdrom      重点:退出挂载目录,才能卸载

#案例环境要求
ubuntu
最好是桌面版

#案例进阶Ubuntu16.04 挂载硬盘(简单实用)
在电脑(Ubuntu16.04)新装了一个硬盘,然后只有挂载了我们才能正常使用,下面总结一下挂载的过程。

挂载可以修改我们打开外部盘符的路径。
而不是跟windows 我们只能 第几个磁盘的去找,
我们linux 会这样。
打开 /home/pc/bobo 那就直接进入了U盘。

#首先,打开命令行输入命令:

sudo fdisk -l

可以看到:

title

#插入我们的硬盘

直接打开磁盘工具访问。

title

提示不支持格式,因为ubuntu版权原因。安装一个工具即可

sudo apt-get install exfat-utils

title

我挂的是1T的,所以很明显是 /dev/sdb2.

#解决方案一: 使用挂载命令

挂载命令介绍

光盘挂载
mount 设备描述文件 挂载点(已经存在空目录)
mount /dev/sr0 /mnt/cdrom

光盘卸载
umount /dev/sr0
umount /mnt/cdrom 重点:退出挂载目录,才能卸载

我们执行下面命令:
直接进入挂载。

因为你有ubuntu默认挂载点,所以我们不可以直接挂载,

xdl@xdl-virtual-machine:/home/pc/bobo$ sudo mount /dev/sdb2 /home/pc/bobo
FUSE exfat 1.2.8
WARN: volume was not unmounted cleanly.

要先取消挂载

xdl@xdl-virtual-machine:/home/pc/bobo$ sudo umount /dev/sdb2
xdl@xdl-virtual-machine:/home/pc/bobo$ sudo umount /media/xdl/啵啵的备份

再挂载 成功

xdl@xdl-virtual-machine:/home/pc/bobo$ sudo mount /dev/sdb2 /home/pc/bobo
FUSE exfat 1.2.8

输入 df -h 可以检验。

title






#扩展阅读: 用户与用户组的操作
修改用户所以组:

usermod -g group loginname

强行设置某个用户所在组

usermod -G groups loginname

把某个用户改为 group(s)

usermod -a -G groups loginname

把用户添加进入某个组(s)

在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组。创建用户user1的时候指定其所属工作组users,例:useradd –g users user1

一、创建用户:

1、使用命令 useradd

例:useradd user1——创建用户user1
useradd –e 12/30/2009 user2——创建user2,指定有效期2009-12-30到期
用户的缺省UID从500向后顺序增加,500以下作为系统保留账号,可以指定UID,

例:useradd –u 600 user3

2、使用 passwd 命令为新建用户设置密码
例:passwd user1
注意:没有设置密码的用户不能使用。

3、命令 usermod 修改用户账户
例:将用户 user1的登录名改为 u1,
usermod –l u1 user1
例:将用户 user1 加入到 users组中,
usermod –g users user1

例:将用户 user1 目录改为/users/us1
usermod –d /users/us1 user1

4、使用命令 userdel 删除用户账户
例:删除用户user2
userdel user2
例:删除用户 user3,同时删除他的工作目录
userdel –r user3

5、查看用户信息
id命令查看一个用户的UID和GID, 例:查看user4的id
id user4
finger命令 ——可以查看用户的主目录、启动shell、用户名、地址、电话等信息
例:finger user4

二、用户组:

6、命令 groupadd创建用户组
groupadd –g 888 users
创建一个组users,其GID为888

7、命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
例:把 user1加入users组
gpasswd –a user1 users
例:把 user1退出users组
gpasswd –d user1 users

8、命令groupmod修改组
groupmod –n user users 修改组名user为users

9、groupdel删除组
groupdel users 删除组users

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~