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、权限位
<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
修改组与所属者
(如果没有组 groupadd 组名即可)详细的明天讲解用户与组的操作
chown xdl:xdl test.txt
把组改回来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
可以看到:
#插入我们的硬盘
直接打开磁盘工具访问。
提示不支持格式,因为ubuntu版权原因。安装一个工具即可
sudo apt-get install exfat-utils
我挂的是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 可以检验。
#扩展阅读: 用户与用户组的操作
修改用户所以组:
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
推荐文章: