文章目录
-
- 查看linuxip地址
- Linux 开机,重启和用户登录注销
- Linux用户管理
-
- Linux基本介绍
- 查询用户信息指令
- 切换用户
- 用户组
- 修改用户的组
- 用户和组的相关文件
- 实例练习
- Linux实用指令
- 通过修改Linux的运行级别找回root密码
- Linux帮助指令
- 文件和目录相关的指令
-
- pwd指令
- ls指令
- cd指令
- mkdir 指令
- rmdir指令
- touch指令
- cp指令
- rm 指令
- mv指令
- cat指令
- more 指令
- less指令
- echo 指令
- head 指令
- tali 指令
- 输出重定向指令 和追加指令
- ln 指令(link)
- history 指令
查看linuxip地址
[root@CentOS 桌面]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:2A:D4:D1
inet addr:192.168.91.0 Bcast:192.168.91.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe2a:d4d1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:828 (828.0 b) TX bytes:1058 (1.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:84 errors:0 dropped:0 overruns:0 frame:0
TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5760 (5.6 KiB) TX bytes:5760 (5.6 KiB)
[root@CentOS 桌面]#
- eth0 表示网卡的相关信息
- lo 表示外部连的相关信息
Linux 开机,重启和用户登录注销
关机和重启命令
- shutdown -h now [立刻关机]
- shutdown -h 1 “1 分钟,关机.” [1 分钟后,关机]
- shutdown -r now [立刻重启]
- shutdown -r 2 “2 分钟后,重启”
- halt 【立刻关机】
- reboot 【立刻重启】
注意:在重启和关机前,通常需要先执行sync [把内存的数据,写入磁盘]
用户登录和注销
- 登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。
- 可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
- 在提示符下输入 logout 即可注销用户【不同的 shell 可能不同(logout exit)】
- logout 注销指令在图形运行级别(简单提一下:0-6 个级别)无效,
- 在 运行级别下有效.Linux有六个默认的级别,
Linux用户管理
- 在Linux中,一个用户属于一个组
- 当创建一个用户后,默认会在/home/用户名 创建一个与用户名相同的目录,该目录就是用户家目录
- 当一个用户登录后,默认会切换到/home/tom
- 一个用户默认是不能进入到其他用户目录
- 用户权限体现对文件的操作
![Linux用户管理&&文件和目录相关指令_第1张图片](http://img.e-com-net.com/image/info8/aa12812a7ce943ffb6cc4645a06da721.jpg)
Linux基本介绍
- Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
添加用户
- 基本语法: useradd 用户名
[root@CentOS 桌面]# useradd ryx
[root@CentOS 桌面]# cd /home/
[root@CentOS home]# cd /home
[root@CentOS home]# ls
ryx
- 为用户ryx设置密码
[root@CentOS home]# cd /home
[root@CentOS home]# ls
ryx
[root@CentOS home]# passwd ryx
更改用户 ryx 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@CentOS home]#
-
当创建用户成功后,会自动的创建和用户同名的家目录 /home/ryx
-
可以通过 useradd -d 指定用户所在的目录,新的用户名 jack,给新创建的用户指定家目录![Linux用户管理&&文件和目录相关指令_第2张图片](http://img.e-com-net.com/image/info8/c80d06bbb09244cd85da1bfb813350a6.jpg)
-
指定和修改密码基本语法 passwd 用户名 ;如果没有带用户名,则是给当前登录的用户修改密码
-
删除用户的基本语法 :userdel 用户名
- 删除用户ryx 但是保留家目录 userdel ryx
- 删除用户以及用户主目录 userdel -r ryx //不要瞎用
-
一般在删除用户时都会保留家目录
查询用户信息指令
- 基本语法:id 用户名
[root@CentOS home]# cd /
[root@CentOS /]# cd /home
[root@CentOS home]# id ryx
uid=500(ryx) gid=500(ryx) 组=500(ryx)
- 当用户不存在时,返回无此用户
切换用户
- 在Linux中,如果当前用户的权限不够,通过 su - 指令,切换到高权限用户,比如:su -root
- 切换用户名 :su -ryx
- 从权限高的用户切换到权限低的用户,不需要输入密码,从权限低到权限高需要输入密码
- 如果 su - 没有带用户名,默认切换到root用户
用户组
- 用户组类似于角色,系统可以对有共性的多个用户进行统一的管理
- 新增组指令:groupadd 组名
[ryx@CentOS /]$ cd /home
[ryx@CentOS home]$ ls
ryx
[ryx@CentOS home]$ groupadd ryxtest
bash: /usr/sbin/groupadd: 权限不够
- 新增用户组时,出现权限不够的问题,需要切换到root权限
[ryx@CentOS home]$ su -
密码:
[root@CentOS ~]#
- 增加用户时直接加上组 : useradd -g 用户组 用户名
- 新增加一个用户 ryxtest 直接将他指定到 ryxtest 用户组
[root@CentOS home]# useradd -g ryxtest ryxtest
[root@CentOS home]# id ryxtest
uid=501(ryxtest) gid=501(ryxtest) 组=501(ryxtest)
- 删除组: groupdel 组名 ;删除组的前提是族中没有用户才能删除
[root@CentOS home]# groupdel ryxtest
groupdel:不能移除用户“ryxtest”的主组
[root@CentOS home]# userdel ryxtest
[root@CentOS home]# groupdel ryxtest
修改用户的组
- 修改用户组指令 : usermod -g 新的组名 用户名
- 创建一个test组,创建一个新的用户a,并将 a 用户修改到test组
[root@CentOS home]# useradd a
[root@CentOS home]# id a
uid=501(a) gid=501(a) 组=501(a)
[root@CentOS home]# groupadd test
[root@CentOS home]# usermod -g test a
[root@CentOS home]# id a
uid=501(a) gid=502(test) 组=502(test)
[root@CentOS home]#
用户和组的相关文件
- /etc/passwd 文件: 用户(user)的配置文件,记录用户的各种信息
- 主要行的含义如下
![Linux用户管理&&文件和目录相关指令_第3张图片](http://img.e-com-net.com/image/info8/8e3d9024776c41a3982d6c9f5d890e35.jpg)
- /etc/shadow 文件是口令配置文件,保存加密后的登录名,加密口粮,最后一次修改时间,最小时间间隔,最大时间间隔,警告等等信息,不要瞎动1
![在这里插入图片描述](http://img.e-com-net.com/image/info8/03fe053f6eac4bf7a3c75cbe2e06cec2.jpg)
- /etc/group文件 组配置文件,记录Linux包含的组的信息,包含组名,口令,组标标识,组内用户列表
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:
mail:x:12:mail,postfix
uucp:x:14:
man:x:15:
games:x:20:
gopher:x:30:
video:x:39:
dip:x:40:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
"group" 60L, 823C
实例练习
- 增加一个组student :groupadd student
- 创建一个用户ryxtest 并指定的默认路径为 /home/ryxtest,同时指定到student组 useradd -d /home/ryxtest -g student ryxtest
- 增加一个testone组, groupadd testone
- 将ryxtest 修改到 testone 组 ; usermod -g testone ryxtest
Linux实用指令
- Linux的运行级别: 从 0~6
- 运行级别 0 :关机
- 运行级别 1 :单用户[类似于安全模式,这个模式下可以找回root密码]
- 运行级别 2 :多用户状态,没有网络服务
- 运行级别 3 : 多用户状态,有网络服务,经常使用的
- 运行级别 4 :系统未使用保留给用户
- 运行级别 5 :图形界面
- 运行级别 6 :系统重启
最常使用的运行级别是 3 和 5,要修改默认的运行级别可以修改文件
指定运行级别
/etc/inittab
下的 id : 5 :initdefault 行标识运行级别5
- 指定运行级别的命令: init[0~6] https协议
通过init命令切换不同的运行级别,比如从5到3,然后关机
- init 5
- init 3
- init 0
通过修改Linux的运行级别找回root密码
- 在忘记root密码后,可以通过Linux运行级别 1找回密码
方法
- 启动时->快速输入enter ->输入 e -> 进入到编辑界面->选择中间有kernel项->输入e(edit)->在这一行的最后写入1 表示[表示修改内核,临时生效]->输入enter->输入b[boot]->进入单用模式[然后修改root密码]
- 在设置好root密码后,Linux运行后,会直接进入的命令行终端(3级别)
Linux帮助指令
- man获取帮助信息,基础语法:
man [命令或配置文件]
(功能描述,获得帮助信息)
- man ls 查看 ls命令的帮助信息
- help命名 (功能描述;获得shell内置命令的帮助信息)
- help cd 查看 cd 的信息
吐槽:
- 如果help 和man都可以获取指令帮助,但是很痛苦,
- 直接问百度,不痛快
文件和目录相关的指令
pwd指令
- pwd指令,显示当前工作目录的绝对路径
- 显示当前工作目录的绝对路径 pwd
[root@CentOS etc]# pwd
/etc
[root@CentOS etc]#
ls指令
- ls指令 显示目录或文件
- 语法格式 ls [选项] [目录或文件]
ls指令常用选项
- -a :显示当前目录所有的文件和目录,包括隐藏的 (文件名以.开头就是隐藏)。
- -l :以列表的方式显示信息
- -h :显示文件打侠士,以k,m,G,单位显示
ls案例
- ls -alh // 显示当前目录的所有内容信息
- ls -alh 指定目录 ; 显示指定目录的内容信息
- ls -alh /root 显示 root目录的内容信息
cd指令
- 基础语法 : cd [参数](功能描述:切换到指定目录)
- 常用参数 :绝对路径(从 / 开始定位 ) 和相对路径(从当前的位置开始定位)
- cd ~ 或者 cd :回到当前用户的家目录
- cd … ;回到当前目录的上一级目录
cd 案例
- 使用绝对路径切换到root目录 [cd/root]
- 使用相对路径到/root 目录 [ cd …/root]
- 表示回到当前目录的上一级目录 [cd …]
- 回到家目录 [cd ~]
mkdir 指令
- mkdir指令用于创建目录
- 基本语法:mkdir [选项] 要创建的目录
- mkdir -p 创建多级目录
mkdir案例
- 创建一个目录 /home/test :命令为
mkdir /home/test
- 创建多级目录 /home/test/test: 命令为
mkdir -p /home/test/test
rmdir指令
- rmdir指令删除空目录
- rmdir语法 : rmdir [选项] 要删除的空目录
rmdir案例
- 删除一个目录 /home/test :
rmdir /home/dog [要求 /home/dog 空目录]
- rmdir 删除的是空目录,如果目录下有内容时无法删除的
- 如果需要删除非空目录,需要使用 rm -rf 要删除的目录:
rm -rf /home/dog
- r: 表示递归删除,就是将该目录下的文件和子目录全部删除
- f: 表示强制删除,就是不需询问
touch指令
- touch 指令创建空文件, 还可以更新文件的修改时间
- 基本语法:touch 文件名称
touch案例
- 创建一个空文件 hello.txt:touch hello.txt
- 如果文件存在,则表示刷新该文件的修改时间
cp指令
- cp指令是拷贝指令
- cp 指令拷贝文件到指定目录:基本语法:
cp [选项] source【源】 dest【目的文件】
- 常用选项: -r 表示递归估值整个文件夹
cp指令案例
- 将 /home/aaa.txt 拷贝到 /home/bbb 目录下:
cp aaa.txt /home/bbb
- 递归复制整个文件夹,举例, 将 /home 整个目录拷贝 /opt:
cp -r /home/ /opt
![Linux用户管理&&文件和目录相关指令_第4张图片](http://img.e-com-net.com/image/info8/10e99624b1dc41d59a42b94a912f802d.jpg)
- 强制覆盖不提示的方法 : \cp
- \cp -r /home/ /opt/
![在这里插入图片描述](http://img.e-com-net.com/image/info8/e170457135554ed59ca7bba96aed81de.jpg)
rm 指令
- rm 指令移除文件或目录
- 基本语法: rm [选项] 要删除的文件或目录
- rm 常用选项
- -r :递归删除整个文件夹
- -f :强制删除不提示
rm实例
- 将 /home/aaa.txt删除 :
rm /home/aaa.txt
- 递归删除整个文件夹 :
rm -r /home/bbb
- 强制删除不提示的方法 :带上 -f参数就可以了:
rm -rf /home/bbb
mv指令
- mv移动文件与目录或者重命名
- mv的基本语法
- mv oldNameFile newNameFile (功能描述:重命名)
- mv /temp/movefile /targetFolder (功能描述:移动文件或目录)
- mv指令案例
- 将 /home/aaa.txt 文件 重新命名为 pig.txt :
mv aaa.txt pig.txt
- 将 /home/pig.txt 文件 移动到 /root 目录下:
mv pig.txt /root/
cat指令
- cat查看文件内容
- cat基本语法
- cat [选项] 要查看的文件
- 常用选项
- -n 显示行号
- cat指令案例 :
- /etc/profile 文件内容,并显示行号:
cat -n /etc/profile | more
- 如果需要一行行,输入 enter ,如果需要翻页,输入空格键,如果需要退出,输入q
- cat只能浏览文件,而不能修改文件,为了浏览方便,一般会带上 管道命令 | more
- cat xxx.txt | more (把 cat xxx.txt 输出结果交给 more 处理)
more 指令
- more 指令是一个基于vi编辑器的文本过滤器,
- more指令会以全屏幕的方式按页显示文本文件的内容
- more指令中,内置了若干快捷键
- more指令基础语法:
more 要查看的文件
- more的实例
- 使用more 查看文件 /etc/profile
- more的快捷键
- 空格键 :代表向下翻一页
- enter :代表向下翻一行
- q:代表立刻离开 more,不再显示该文件内容
- Ctrl+f:向下滚动一屏
- = :输出当前行的行号
- :f 输出文件名和当前行的行号
less指令
- less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
- less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
- less基础语法 :
less 要查看的文件
- less操作说明和快捷键
- 空格键 :向下翻动一页
- [pagedown] 向下翻动一页
- [pageup] 向上翻动一页
- /字串 :向下搜寻[字串]的功能,n: 向下查找,N:向上查找
- ?字串 :向上搜寻[字串]的功能,n: 向上查找,N:向下查找
- q:离开less这个程序
- less实例
- 采用less 查看一个文件 :less aaa.test
echo 指令
-
echo 指令将输出内容到控制台
-
echo基本语法 :echo [选项] [输出内容]
-
echo 应用实例:
- 使用echo指令输出环境变量 ,比如 PATH
echo $PATH
-
引用内容:查看系统所有的环境变量
-
env 修改环境变量 :建议不要瞎改,容易死翘翘
-
vim /etc/profile [系统的环境变量]![Linux用户管理&&文件和目录相关指令_第5张图片](http://img.e-com-net.com/image/info8/46541ccebe884d639cbaffea1c23806f.jpg)
-
修改个人的环境变量![Linux用户管理&&文件和目录相关指令_第6张图片](http://img.e-com-net.com/image/info8/d64472948ab04cd4b076e0c473664875.jpg)
head 指令
- head用于希纳是文件的开头部分内容,默认情况下head指令显示文件的前10行内容
- head 基本语法:
- head 文件(功能描述:查看文件头10行内容)
- head -n 5文件 (功能描述,查看文件头5行内容,可以是任意行数)
- head案例
- 查看/etc/profile 的前面5行代码,
head -n /etc/profile
tali 指令
-
tail 指令用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容
-
tail指令基础语法:
- tail 文件 查看文件后10行的内容
- tail -n 5 文件 ,查看文件后5行的内容,可以是任意行数
- tali -f 文件 实时追踪该文档的所有更新
-
tail案例
- 查看/etc/profile 最后5行代码 tail -n 5 /etc/profile
2.实时监控 date.log , 看看到文件有变化时,是否看到, 实时的追加日期 tail -f date.log
输出重定向指令 和追加指令
>
是输出重定向指令
>>
是追加指令
- 基本语法:
- ls -l > 文件 ,将内容写入到文件中,覆盖写
- ls -al >> 文件 ,将列表的内容追加到文件的末尾
- cat 文件1> 文件2 :将文件1 的内容覆盖到文件2
- echo “内容” >> 文件,将内容追加到文件中
- 使用案例
- 将/home 目录下的文件列表,写入到 /home/test.txt 中
ls -l /home/ > /home/test.txt
[如果test 文件不存在,则会自动创建]
- 将当前日历信息,追加到 /home/mycal 文件中
date >> /home/mycal
中
ln 指令(link)
- 软链接也称为符号链接,类似于快捷方式,主要存放了链接其他文件的路径
- ln 基本语法
- ln -s [原文件或目录] [软链接名] (给原文件创建一个软链接)
- ln指令案例
- 在/home 目录下创建一个软链接,lntest ,链接到 /root 目录
ln -s /root/ lntest
- 删除软链接 lntest
rm -rf lntest
[删除时没有提示的]
- 当使用pwd指令查看目录时,看到的仍然时软链接所在的目录
history 指令
- 查看已经执行过的历史命令,也可以执行历史指令
- history 基本语法
- history 查看已经执行过的历史命令
- history 案例
- 显示所有的历史命令:
history
- 显示最近使用过的10个指令:
history 10
- 执行历史编号为5的指令 !5
[root@CentOS home]# history !5
history ls
-bash: history: ls: numeric argument required
[root@CentOS home]# ls
a ryx ryxtest
[root@CentOS home]# !5
ls
a ryx ryxtest