Linux基本命令-2021-0717
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基本命令-2021-0717相关的知识,希望对你有一定的参考价值。
参考技术A [root@localhost ~]# ls -l
总用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
权限--引用计数 所有者 -- 所属组--- 大小-- 文件修改时间 文件名
ls [选项] [文件名或目录名]
选项:
-a :显示所有文件
--color=when:支持颜色输出
-d :显示目录信息,而不是目录下的文件
-h :人性化显示﹐按照我们习惯的显示文件大小
-i :显示文件的i节点号
-l:长格式显示
pwd 命令是查询当前所在的目录的绝对路径
选项:
-L (默认值)打印环境变量"$PWD"的值,可能为符号链接。
-P 打印当前工作目录的物理位置。
mkdir 是创建目录的命令
选项:
-Z:设置安全上下文,当使用SELinux时有效;
-m或--mode:建立目录的同时设置目录的权限;
-p或--parents:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录;
rmdir 是删除空目录的命令
-p: 递归删除目录
touch 是 创建空文件或修改文件的时间戳
[root@localhost ~]# touch [选项] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取时间;
-c:或--no-create 不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify 只更该变动时间;
-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间> 使用指定的日期时间,而非现在的时间;
--help:在线帮助;
--version:显示版本信息。
stat 是查看文件详细信息的命令,而且可以看到文件的这三个时间戳
选项:
-L:支持符号连接;
-f:显示文件系统状态而非文件状态;
-t:以简洁方式输出信息;
cat 命令用来查看文件内容
选项:
-A: 相当于-vET 选项的整合,用于列出所有隐藏符号
-E: 列出每行结尾的回车符$
-n: 显示行号
-T: 把 Tab 键用^I显示出来
-v: 列出特殊字符
more 是分屏显示文件的命令
less 是分行显示文件的命令
用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。
选项:
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。
head 是用来显示文件开头的命令
选项:
-c --bytes=[-]NUM 显示前NUM字节;如果NUM前有"-",那么会打印除了文件末尾的NUM字节以外的其他内容。
-n, --lines=[-]NUM 显示前NUM行而不是默认的10行;如果NUM前有"-",那么会打印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不打印文件名行。
-v, --verbose 总是打印文件名行。
-z, --zero-terminated 行终止符为NUL而不是换行符。
tail 是用来显示文件末尾的命令
选项:
-c, --bytes=NUM 输出文件尾部的NUM(NUM为整数)个字节内容。
-f, --follow[=name|descript] 显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。
-F 与 “--follow=name --retry” 功能相同。
-n, --line=NUM 输出文件的尾部NUM(NUM位数字)行内容。
--pid=<进程号> 与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令。
-q, --quiet, --silent 当有多个文件参数时,不输出各个文件名。
--retry 即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“--follow=name”连用。
-s, --sleep-interal=<秒数> 与“-f”选项连用,指定监视文件变化时间隔的秒数。
-v, --verbose 当有多个文件参数时,总是输出各个文件名。
ln 是用来为文件创建链接的命令
[root@localhost ~]# ln [选项] 源文件 目标文件
选项:
-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件
-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
-d, -F, --directory 创建指向目录的硬链接(只适用于超级用户)
-f, --force 强行删除任何已存在的目标文件
-i, --interactive 覆盖既有文件之前先询问用户
-L, --logical 取消引用作为软链接的目标
-n, --no-dereference 把软链接的目的目录视为一般文件
-P, --physical 直接将硬链接到软链接
-r, --relative 创建相对于链接位置的软链接
-s, --symbolic 对源文件建立软链接
硬链接特征:
源文件和硬链接文件拥有相同的 Inode 和 Block
修改任意一个文件,另一个都改变
删除任意一个文件,另一个都能使用
硬链接标记不清,很难确认硬链接文件位置,不建议使用
硬链接不能链接目录
硬链接不能跨分区
软链接特征:
软链接和源文件拥有不同的 Inode 和 Block
两个文件修改任意一个,另一个都改变
删除软链接,源文件不受影响;删除源文件,软链接不能使用
软链接没有实际数据,只保存源文件的 Inode,不论源文件多大,软链接大小不变
软链接的权限是最大权限 lrwxrwxrwx.,但是由于没有实际数据,最终访问时需要参考源文
件权限
软链接可以链接目录
软链接可以跨分区
软链接特征明显,建议使用软连接
rm 是强大的删除命令,不仅可以删除文件,也可以删除目录
[root@localhost ~]# rm [选项] 文件或目录
选项:
d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。
cp 是文件或目录用于复制的命令
[root@localhost ~]# cp [选项] 源文件 目标文件
选项:
-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制软链接时,把目标文件或目录也建立为软链接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立软链接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。
mv 是用来对文件或目录重新命名,或者将文件移动至其他目录
[root@localhost ~]# mv [选项] 源文件 目标文件
选项:
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“ / ”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的权限位如果不计算最后的“.”,则共有 10 位。
第 2~4 位代表文件所有者的权限。
chmod 用来变更文件或目录的权限
[root@localhost ~]# chmod [选项] 权限模式 文件名
选项:
-c, --changes:当文件的权限更改时输出操作信息。
--no-preserve-root:不将\'/\'特殊化处理,默认选项。
--preserve-root:不能在根目录下递归操作。
-f, --silent, --quiet:抑制多数错误消息的输出。
-v, --verbose:无论文件是否更改了权限,一律输出操作信息。
--reference=RFILE:使用参考文件或参考目录RFILE的权限来设置目标文件或目录的权限。
-R, --recursive:对目录以及目录下的文件递归执行更改权限操作。
用户身份
首先,读、写、执行权限对文件和目录的作用是不同的。
目录的可用权限其实只有以下几个。
chown 是修改文件和目录的所有者和所属组的命令
[root@localhost ~]# chown [选项] 所有者:所属组 文件或目录
选项:
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quite或——silent:不显示错误信息;
-h或--no-dereference:只对软链接的文件作修改,而不更改其他任何相关文件;
-R或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
-v或——version:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的拥有者与所属群组全部设成和参考文件或目录的拥有者与所属群组相同;
普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行
普通用户可以修改所有者是自己的文件的权限
chgrp 是修改文件和目录的所属组的命令
[root@phato ~]# chgrp [选项] 所属组 文件或目录
-R 递归式地改变指定目录及其下的所有子目录和文件的所属的组
-c或——changes:效果类似“-v”参数,但仅回报更改的部分;
-f或--quiet或——silent:不显示错误信息;
-h或--no-dereference:只对符号连接的文件作修改,而不是该其他任何相关文件;
-H如果命令行参数是一个通到目录的软链接,则遍历软链接
-R或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;
-L:遍历每一个遇到的通到目录的软链接
-P:不遍历任何符号链接(默认)
-v或——verbose:显示指令执行过程;
--reference=<参考文件或目录>:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
umask 是显示或设置创建文件的权限掩码。我们需要先了解一下新建文件和目录的默认最大权限。
我们在这里按照权限字母来讲解 umask 权限的计算方法。我们就按照默认的 umask 值是 022来分别计算一下新建文件和目录的默认权限吧。
linux基本命令
Linux基本命令。
Linux是严格区分大小写
命令的分类:
内部命令 Shell在内部代码中实现的命令
man type 查看bash Shell自带的命令
外部命令 Shell以外的命令
用type命令查看内部命令还是外部命令
type cd 提示cd is a shell builtin则说明是内部命令
type mount 提示mount is /bin/bash 告诉外部命令的位置
-------------------------------------------------------------
帮助命令
man 注重于应用,也是最常用的帮助方法
man 的帮助文档存放的位置
/usr/share/man
man 的帮助文档分类
1 普通用户命令
2 系统核心调用的函数工具
3 常用的一些函数与函数库
4 设备文件的说明
5 配置文件与一些其它格式的文件
6 游戏相关
7 网络协议相关
8 管理员可操作的命令
9 系统内核相关的文件
在 man 帮助里:
/c 搜索c关键字
n 下一个关键字
N 上一个关键字
q 退出
info 注重于介绍,不常用
帮助文档存放位置
/usr/share/info
进入帮助界面
? info命令帮助
空格键 向下翻一页
tab 在结点之间移动,有结点的地方通常会以*显示,将光标移动结点位置按回车可进入结点
b 移动光标到该文章的第一个结点处
e 移动光标到该文章的最后一个结点处
n 前往下一个info页
p 前往上一个info页
u 向上移动一层
s(/) 在info里搜索
h 显示帮助菜单
q 退出
-------------------------------------------------------------
目录命令
pwd 查看当前所在目录的路径
cd 切换当前所在目录
绝对路径
cd /root/Desktop 指从根目录开始的路径
相对路径
cd root/ 指以当前目录开始的路径
. 代表当前所在目录
.. 代表当前的父目录
- 代表上一次所在的目录
~ 代表当前登录用户的家目录
mkdir 创建一个目录
mkdir test 在当前目录下创建test目录
mkdir /tmp/test 在根目录下tmp目录里创建test目录
mkdir file{1..100} 在当前目录下创建file1到file100的目录,这里会创建100个目录
mkdir "file{1..100}" 在当前目录下创建file{1..100}目录,这里只创建一个目录
mkdir -p a/b/c 在当前目录下创建a/b/c目录树
rmdir 只能删除空目录
rmdir test 删除当前目录的test目录,test必须是空目录
rmdir /tmp/test 删除/tmp下的test目录
rmdir file{1..100} 删除file1到file100的目录
rmdir "file{1..100}" 删除file{1..100}目录
-------------------------------------------------------------
文件命令
ls 列出当前文件夹下的所有文件
ls -a 列出当前目录下所有文件,包含隐藏文件
ls -l 以详细列表形式列出当前目录下的所有文件
ls -R 列出当前目录所有文件,包含子目录内所有文件
drwxr-xr-x 1 root root 2062 2011-01-04 file1
文件类型和文件权限 文件的硬链接数 文件所属用户 文件所属用户组 文件大小 文件的最后修改日期 文件名
文件类型:
c 字符设备
b 块设备
l 符号链接
s socket文件
p 管道文件
d 文件夹
- 普通文件
常用搭配:
ls -al 显示所有文件包括隐藏文件列表
ls -lt 显示按日期时间排序后的文件列表
ls -lh 显示计算大小为KB为单位的文件列表
ls -dl 显示文件夹详细列表
touch 新建文件
touch file 创建file空文件,如果file存在则更新file的存取和修改时间
touch -c file 如果file不存在,则不创建文件
touch -r file1 file 更新file时间和file1相同
touch -a file 更新file的存取时间
touch -m file 更新file的修改时间
touch file{2,3,4} 同时创建file2,file3,file4三个空文件
touch "file{2,3,4}" 创建file{2,3,4}一个空文件
cp 复制文件
cp file dirs/ 把file文件复制到dirs目录下
cp -r dir1/ dir2/ 把dir1目录复制到dir2目录下
cp -a file dirs/ 把file文件复制到dirs目录下,保留文件的原来属性
cp -rf dir1/ dir2/ 强制复制文件夹,不提示
cp -rvf dir1/ dir2/ 把dir1目录复制到dir2目录下,并且显示复制过程
mv 移动和重命名文件
mv file dirs/ 把file文件移动到dirs目录下
mv file file2 把file文件重命名为file2
mv -u dir1/* dir2/ 把dir1目录下所有文件移动到dir2目录下,并且根据文件时间来决定要不要移动
rename 批量文件重命名
rename .conf .html *.conf 把所有后缀以.conf的文件名里出现.conf就改成.html
rm 删除文件
rm file* 删除所有file打头的文件
rm -i file* 提示是否确定删除
rm -f file* 不提示,强行删除
rm -r dir2 删除目录
-------------------------------------------------------------
文件阅读命令
cat 文件查看命令
cat /etc/passwd 查看/etc/passwd内容
cat -n /etc/passwd 查看/etc/passwd内容并且编号
cat -b /etc/passwd 查看/etc/passwd内容并且给非空行编号
more
more /etc/passwd 逐屏查看/etc/passwd文件内容
less
less /etc/passwd 查看/etc/passwd文件内容,和more不同的是可以上下滚动
head
head /etc/passwd 查看/etc/passwd前10行内容
head -n 30 /etc/passwd 查看/etc/passwd前30行内容
tail
tail /etc/passwd 查看/etc/passwd后10行内容
tail -n 30 /etc/passwd 查看/etc/passwd后30行内容
tail -f /etc/passwd 实时查看/etc/passwd文件内容
重定向
标准输入 代码 0 默认设备为键盘
标准输出 代码 1 默认设备为屏幕
错误输入 代码 2 默认设备为屏幕
ls /etc/passwd > output.txt 标准正确输出重定向到output.txt
ls /etc/shadow >> output.txt 标准正确输出追加重定向到output.txt
ls dddddd 2> error.txt 标准错误输出重定向到error.txt
ls dddddd 2> /dev/null 标准错误输出重定向到黑洞
ls ddddd /etc/passwd &> /dev/null 标准正确输出标准错误输出全都重定向到黑洞
管道
cat /etc/passwd | less |之前的命令执行的结果做|后命令的参数
==========================================
用户管理
用户分类
管理员 user id一定为0,务必唯一
系统用户 伪用户,user id 1-499,默认是不允许登录系统,用于给予某些服务运行时候所用的身份
普通用户 user id 500-60000, 通过手工或都命令建立起来的用户,默认可以进行登录系统
用户管理
用户相关配置文件
/etc/passwd
/etc/shadow
vim /etc/passwd
第一列:用户名
第二列:密码 x代表密码存放在/etc/shadow里,如果去掉x就代表此用户没有密码
第三列:uid 用户ID值操作系统是不认识用户名,只认uid
第三列:gid,用户组的ID
第五列:描述项
第六列:指定家目录
第七列:指定bash
vim /etc/shadow
第一列:用户名
第二列:真实的密码,经过加密的,以*或都!号开头的不能登录
第三列:上一次修改密码的时间,linux以1970年1月1日到现在的天数来算的
第四列:修改密码后几天内不允许再修改, 0代表不限制
第五列:多少天内必须修改密码,99999代表不限制
第六列:过期前几天给你一个警告信息
第七列:密码过期后的一个宽限时间
第八列:这里可以写一个实际的账号过期天数,也是以1970年1月1日到现在来算的,多用于收费系统
第九列:保留,留着以后功能扩展
用户命令相关配置文件,保存useradd命令创建用户使用的默认值
/etc/default/useradd
/etc/login.defs
用户相关命令
useradd/adduser
userdel/deluser
usermod
passwd
useradd a 创建一a用户
useradd -g kyo a 新建a用户并且把a用户添加进kyo用户组
userdel a 删除a用户
userdel -r a 删除a用户并且删除a的家目录和邮件目录
passwd a 修改a用户密码
passwd -l a 临时关闭用户,或修改/etc/shadow第二个字段加*
passwd -u a 释放临时关闭用户
usermod 修改用户信息
-u 修改UID
-g 修改GID
-d 指它家目录
-s 指用bash
usermod -G kyo a 把a用户添加进kyo用户组
用户信息相关的命令
chfn 修改一个用户相关的信息
finger 查看一个用户相关的信息
组管理
相关配置文件
/etc/group
/etc/gshadow
vim /etc/group
第一列:组名
第二列:密码,x代表密码在/etc/gshadow
第三列:gid
第四列:代表属于这个组的用户名
vim /etc/gshadow
第一列:组名
第二列:密码
第三列:组管理员
第四列:组成员
相关命令
groupadd 添加一新用户组
groupdel 删除一用户组
groupmod 修改用户组信息
gpasswd 修改用户组密码
gpasswd -a a root 把a用户放进root用户组
gpasswd -A a root 把a用户放进root用户组并当管理员
gpasswd -d a root 把a用户从root用户组里删除
newgrp root 把当前用户临时添加进root用户组,重新登录失效
id 显示用户的ID和组ID
用户身份切换
su - a 完全切换,不继承上一个用户的环境变量,即sbin目录下的命令用不了
su a 不完全切换,继承上一个用户的环境变量,可以用sbin目录下的命令
手工创建用户
第一步:在/etc/passwd添加一行信息
bean:x:534:603::/home/bean:/bin/bash
第二步:在/etc/shadow添加一行信息
grub-md5-crypt 创建md5密码,把密码替换下面两个!!位置
bean:!!:15035:0:99999:7:3::
第三步:在/etc/group添加组的信息
bean:x:603:
第四步:在/etc/gshadow添加组的密码信息
bean:!::
第五步:创建家目录
mkdir /home/bean
第六步:把用户的环境变量文件复制到家目录
cp /etc/skel/.bash* /home/bean
chown bean:bean /home/bean/ -R
chmod 700 /home/bean/ -R
第七步:创建用户的邮件文件
touch /var/mail/bean
chown bean:bean /var/mail/bean
chmod 660 /var/mail/bean
================================================================================
Linux权限
ls -l
- rw- r-- r-- 1 root root 4383 2011-03-01 01:37 readme.txt
所属用户权限u 所属用户组权限g 其它人权限o
r read 读权限
针对文件夹,具有r权限,就代表具有对这个文件夹进行列表的权限
针对文件,具有r权限,就代表具有读取这个文件的内容的权限
w write 写权限
针对文件夹,具有w权限,代表具有他能在此文件夹里创建修改等操作
针对文件,具有w权限,代表具有修改此文件内容的权限
x execute 执行权限
针对文件夹,具有x权限,代表可以切换到此文件夹
针对文件,具有x权限,代表可以运行它,文件必须是可执行或脚本等
二进制转八进制:
000 0 ---
001 1 --x
010 2 -w-
011 3 -wx
100 4 r--
101 5 r-x
110 6 rw-
111 7 rwx
rwx, r-x, r-x
7 5 5
-------------------------------------------------------------
chmod 修改权限的命令
chmod u+x,g+r,o-r file 修改file文件用户权限加上可执行权限,用户组也加上读权限,其它用户减去读权限
chmod u=rwx,g=rw,o=r file 修改file文件用户权限为可读可写可执行,用户组为可读可写权限,其它用户为读权限
chmod 755 file 修改file文件用户权限为可读可写可执行权限,用户组为可读可执行权限,其它用户也为可读可执行权限
chmod 755 dirs -R 修改dirs目录里所有文件的用户权限为可读可写可执行权限,用户组为可读写执行权限,其它用户也为可读可执行权限
-------------------------------------------------------------
chown 修改文件用户所属
chown tom file 修改file文件所属用户为tom
chown tom:jack file 修改file文件的所属用户为tom,所属用户组为jack
chmod jack.root dirs -R 修改dirs目录里所有文件所属用户为jack,所属用户组为root
-------------------------------------------------------------
umask 默认创建文件或文件夹权限掩码
管理员默认umask为022
普通用户默认umask为002
默认创建文件夹权限是777,而掩码设置为022,则要减去掩码,默认创建文件夹权限则变成755
默认创建文件权限是666,而掩码设置为022,则减去掩码,默认创建文件权限为644
-------------------------------------------------------------
特权位 针对命令文件,设定setuid、setgid
针对命令文件设定setuid、setgid
没加特权位之前,命令运行的时候所采用的身份是运行者的身份
添加了特权位之后,命令运行的时候采用的身份不再是运行者的身份,而是命令本身的所属者
例:passwd touch
针对目录设定setgid
设定了组的特权位后,在该文件夹下创建子文件或子目录,它们自动继承文件夹的所属组的身份,子目录会继承目录的特权位
chmod u+s/g+s file 给file设置特权位
chmod u-s/g-s file 给file取消特权位
-------------------------------------------------------------
粘贴位 防止其它用户删除文件,针对其它用户,管理员和本人可以删除,针对目录有效,文件没有用
chmod o+t dirs 给dirs目录设置粘贴位
-------------------------------------------------------------
文件特殊属性
lsattr 查看文件特殊属性
chattr 添加或修改文件特殊属性
chattr +i file 添加i属性,管理员也不得更改
chattr +a file 只能追加内容,不得修改内容,如果有i属性,先取消才能加a属性
chattr -i/-a file 取消文件特殊属性
-------------------------------------------------------------------------------
系统基本命令
file 查看文件类型
uname 查看系统基本信息
-r 内核版本
-s 什么内核
-o 什么操作系统
-n 什么发行版
-m 什么平台
-a 查看所有信息
cal 打印日历
cal 2005 打印2005年日历
bc 支持超大数的文本计算器
quit 退出
date 时间日期命令
+%Y 年
+%m 月
+%d 日
+%H 小时
+%M 分
+%S 秒
......
echo 打印字符串
-n 不换行
-e 支持\t\n等
shutdown -r 重启
suutdown -c 取消计划中的关机或重启
shutdown -p 直接关闭电源
shutdown -h 关机
shutdown -h 30 "30秒后就要关机" 计划关机并给所有终端提示
init 改变系统运行级别
0 关机
1 单用户模式,没有用户和密码验证
2 不带网络的文本模式
3 带网络的文本模式
4 保留
5 带图形界面的模式
6 重启电脑
runlevel 查看当前运行级别
sync 同步磁盘
cat /etc/issue 查看linux系统发行版本信息
w 更详细的显示在线情况
21:55:44 up 1:49, 5 users, load average: 0.38, 0.35, 0.23
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root tty7 :0 20:06 1:49m 1:52 0.12s gnome-session
root pts/2 :0.0 20:24 33.00s 0.10s 0.10s bash
root pts/3 :0.0 21:37 11:18 0.02s 0.02s bash
用户名 登录终端 从哪里登录过来 登录时间
踢掉一个远程登录过来的用户
ps -aux | grep pts/5 pts/5是远程登录的终端,查看终端对应的PID
kill -9 3236 3236是上面查到的pts/5的PID
命令类别:
内部命令 集成于SHELL程序的命令
外部命令 独立可执行文件的命令
区别方法:
which 命令
如果有路径代表外部命令,找不到则代表内部命令
type 命令
如果结果显示is a shell builtin代表是内部命令,否则为外部命令
帮助命令:
man 外部命令
获取外部命令的帮助信息
q 退出 h 获取man手册帮助信息
man手册分1 ~ 8的章节
1 基本命令帮助信息
2 系统调用函数帮助信息
3 标准库函数帮助信息
5 配置文件帮助信息
8 系统管理员命令帮助信息
help 内部命令
获取内部命令的帮助信息
文件操作命令: rm mv cp touch vim gedit
目录相关命令: cd pwd mkdir rm ls
文件阅读命令: head tail cat more less
head 查看指定文件头部行数内容
head -n 5 file
列出文件前5行内容
tail 查看指定文件尾部行数内容
cat 查看文件所有内容
more 一行一行查看文件内容
q 结束查看
enter 查看下一行
less 可控性更强的查看文件命令
bash SHELL提供:
重定向
0 标准输入
1 标准输出
2 错误输出
输出重定向: > 1> 2> >> 1>> 2>>
输入重定向: < <<
管道 |
把|前面的命令的输出给后面命令进行解析
----------------------------------------------------
用户管理 (用户为了权限存在)
超级管理员 root 0
系统用户 1 - 499 / 999 用于系统服务的用户
普通用户 500 / 1000 以上
用户相关配置(超级管理员才可以修改):
/etc/passwd 用户信息
/etc/shadow 用户密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
用户相关命令:
id 获取当前登录用户信息
su 切换用户
useradd/adduser 添加用户
userdel 删除用户
默认不删除用户家目录,-r会删除家目录
userdel -r 用户名
passwd 修改用户密码
权限:
查看文件详细信息
ls -l 文件
-rw-rw-r--. 1 kyo kyo 4633 2月 16 11:18 env.txt
-rw-rw-r-- 文件类型及权限
1 硬链接数
kyo 属用户
kyo 所属用户组
4633 文件大小(字节)
2月 16 11:18 最后修改时间
env.txt 文件名
-rw-rw-r-- 文件类型及权限
第一个字符代表文件类型
- 普通文件
d 目录
l 软链接
p 管道文件
s 套接字文件
c 字符设备文件
b 块设备文件
后九个字符代表权限(三个字符为一段)
rw- (u)所属用户对此文件的操作权限
rw- (g)所属用户组对此文件的操作权限
r-- (o)其它用户对此文件的操作权限
r 读
针对文件, 有r才能对此文件读取内容
针对目录, 有r才能列表目录里内容
w 写
针对文件,有w才能对此文件进行编辑
针对目录, 有w才能才能到此目录里创建或删除文件或子目录
x 可执行
针对文件,有x才能运行文件
针对目录,有x才能切换进去(cd切换不进去)
修改权限: chmod
chmod u=rwx,g=r--,o=--- file
chmod u+x,g-w,o+r file
权限的数字表示方式(八进制)
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
chmod 755 目录/ -R
将目录及目录里所有文件都修改权限为755
修改所属用户及组: chown
chown 用户名:用户组 file -R
粘贴位(只针对其它用户对文件夹设置权限 setVTX)
作用: 防止其它用户删除
chmod 777 目录/
chmod o+t 目录/
用户只能删除自己的东西
ls查看粘贴位: 目录如果有执行权限显示t, 否则显示T
特权位(setuid setgid)
只能给所属用户与所属用户组设置
默认可执行文件运行的权限为当前登录用户
有了特权位可执行文件运行的权限为文件的所属用户
用户特权:
chmod u+s 可执行文件
用户组特权:
chmod g+s 可执行文件
文件特殊属性:
lsattr 查看文件的特殊属性
chattr 修改文件的特殊属性
以上是关于Linux基本命令-2021-0717的主要内容,如果未能解决你的问题,请参考以下文章