admin 管理员组文章数量: 887006
目录
- 1 系统与设置命令
-
- 1.1 用户和用户组管理
-
- 1.1.1 账号管理
-
- 1)添加用户
- 2)用户口令
- 3)修改用户
- 4)删除用户
- 1.1.2 用户组
-
- 1)增加用户组
- 2)修改用户组
- 3)查询用户所属组
- 4)删除用户组
- 1.1.3 将用户添加到组
- 1.2 系统管理
-
- 1.2.1 日期管理
- 1.2.2 显示用户
- 1.2.3 su 切换账户
- 1.2.4 id命令
- 1.2.5 sudo 执行
- 1.2.6 top 指令
- 1.2.7 ps 命令
- 1.2.8 kill 命令
- 1.2.9 关机命令
- 1.2.10 重启命令
- 1.2.11 who命令
- 1.2.12 timedatectl命令
- 2 目录管理
-
- 2.1 文件与目录
-
- 2.1.1 目录常用命令
-
- 1)pwd 显示当前目录
- 2)mkdir(创建目录)
- 3)rmdir(删空目录)
- 4)cp (文件复制)
- 5)rm(删除目录)
- 6)mv(移动文件)
- 2.2 文件基本属性
- 2.3 文件属主和属组
-
- 2.3.1 chgrp 更改属组
- 2.3.2 chown 更改属主和属组
- 2.3.3 chmod 权限命令
-
- 1)数字权限
- 2)符号权限
- 3 文件管理
-
- 3.2 vi与vim命令
-
- vi/vim 介绍
- 3.2.2 vi/vim模式
- 3.2.3 打开和新建文件
- 3.2.4 三种模式切换
- 3.2.5 文件查看
-
- 1)cat 命令
- 2)grep命令
- 3)tail命令
- 4)less命令
- 3.2.6 vim定位行
- 3.2.7 异常处理
- 3.3 echo 命令
-
- 3.3.1 重定向 >(覆盖)和 >>(追加)
-
- 实现
- 3.4 awk 命令
- 3.5 软连接
- 3.6 find 查找
- 3.7 read 命令
- 4 备份压缩
-
- 4.1 gzip
- 4.2 gunzip
- 4.3 tar 命令
- 4.4 zip 命令
- 4.5 unzip 命令
- 4.6 bzip2 命令
- bunzip2 命令
- 4.8 总结
- 5 网络与磁盘管理
-
- 5.1 网络命令
-
- 5.1.1 ifconfig 命令
- 5.1.2 ping 命令
- 5.1.3 netstat 命令
- 5.2 磁盘命令
-
- 3.2.1 lsblk 命令
- 5.2.2 df 命令
- 3.2.3 mount 命令
- 5.3 总结
- 6 shell 与 安装
-
- 6.1 yum使用
-
- 6.1.1 安装tree
- 6.1.2 移除tree
- 6.1.3 yum查找
- 6.1.4 yum源
- 6.2 rmp使用
- 6.3 shell使用
-
- 6.3.1 shell入门
-
- 1)什么是shell
- 2)shell环境
- 3)编写第一个shell
- 6.3.2 shell 注释
- 4.3.3 shell变量
- 6.3.4 shell 数组
- shell 运算符
- 6.3.6 shell流程控制
- 6.3.7 shell 函数
1 系统与设置命令
1.1 用户和用户组管理
1.1.1 账号管理
1)添加用户
使用者权限:管理员用户
格式:
useradd 选项 用户名
参数说明:
- 选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
- 用户名:
指定新账号的用户名(后续我们可以使用这个用户名进行系统登录)。
创建用户需要管理员账号,所以我们需要切换到root
然后再进行用户创建
su root
useradd aaa
2)用户口令
使用者权限:管理员用户
格式:
passwd 选项 用户名
可使用的选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
设置当前用户的口令
passwd aaa
3)修改用户
使用者权限:管理员用户
格式:
usermod 选项 修改后用户名 用户名
常用选项:
下面将用户aaa用户名修改成qsl
usermod -l qsl aaa
4)删除用户
使用者权限:管理员用户
格式:
userdel 选项 用户名
可用选项:
下面将删除用户qsl
userdel -r -f qsl
1.1.2 用户组
1)增加用户组
使用者权限:管理员用户
格式:
groupadd 选项 用户组
可用选项:
创建一个用户组kaifa
groupadd kaifa
2)修改用户组
使用者权限:管理员用户
格式:
groupmod 选项 用户组
可用选项:
将组kaifa 的组名修改为kaifazu
groupmod -n kaifazu kaifa
3)查询用户所属组
在查询用户所属的用户组前,我们先增加一个用户aaa
useradd aaa
要查询一个用户属于哪个用户组,使用groups命令,其格式如下
groups 用户名
查询用户aaa属于某个用户组,执行groups命令
groups aaa
4)删除用户组
使用者权限:管理员用户
格式:
groupdel 用户组
可用选项
删除kaifazu用户组
groupdel kaifazu
以上操作,若执行没有报错,则代表操作成功
1.1.3 将用户添加到组
什么是gpasswd:
gpasswd 是 Linux 下的管理工具,用于将一个用户添加到组或者从组中删除。
格式:
gpasswd [选项] 组名
可用选项:
- 创建一个组
groupadd kaifa
- 创建三个用户
useradd user1
useradd user1
useradd user1
- 将三个用户添加到组里
gpasswd -a user1 kaifa
gpasswd -a user2 kaifa
gpasswd -a user3 kaifa
- 最后我们可以用grep查看是否添加成功
grep 'kaifa' /etc/group
1.2 系统管理
1.2.1 日期管理
date 可以用来显示或设定系统的日期与时间
使用者权限:所有用户
格式:
date [参数选项]
可用选项:
- -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
- -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
- -u:显示GMT;
- –help:在线帮助;
- –version:显示版本信息
- 设置时间
用 -s 选项可以设置系统时间,如下:
date -s "2030-11-9 :19:21:00"
这里修改的是系统时间,所以需要管理员权限,需要进入管理员用户
- 显示时间
date
1.2.2 显示用户
logname命令用于显示用户名称。
执行logname指令,它会显示目前用户的名称
格式:
logname [--help] [--version]
参数:
- –help 在线帮助。
- –vesion 显示版本信息。
显示登陆账号的信息
logname
1.2.3 su 切换账户
su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
格式:
su
变更账号为root并在执行 ls 指令后退出返回原使用者
su -c ls root
切换到root
su root
1.2.4 id命令
id命令用于显示用户的ID,以及所属群组的ID。
id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
使用者权限:所有用户
格式:
id [-g] [--help] [--version][用户名称]
参数说明:
- -g或–group 显示用户所属群组的ID。
- -G或–groups 显示用户所属附加群组的ID。
- -n或–name 显示用户,所属群组或附加群组的名称。
- -r或–real 显示实际ID。
- -u或–user 显示用户ID。
- -help 显示帮助。
- -version 显示版本信息。
显示当前用户信息
id
总结
id命令参数虽然很多
但是常用的也就是id命令,不带参数的
主要看他的uid和组信息
1.2.5 sudo 执行
sudo:控制用户对系统命令的使用权限,root允许的操作。
通过sudo可以提高普通用户的操作权限
使用者权限:普通用户
格式:
sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
参数说明:
- -V 显示版本编号
- -h 会显示版本编号及指令的使用方式说明
- -l 显示出自己(执行 sudo 的使用者)的权限
- -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
- -k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
- -b 将要执行的指令放在背景执行
- -p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
- -u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
- -s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
- -H 将环境变数中的 HOME 指定为要变更身份的使用者HOME目录(如不加 -u 参数就是系统管理者 root )
- command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
sudo 命令使用
sudo ls
指定root用户执行指令
sudo -u root ls -l
1.2.6 top 指令
top命令用于实时显示 process 的动态。
使用权限:所有使用者。
显示进程信息
top
各进程(任务)的状态监控属性解释说明:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
显示完整命令,与top命令不同的就是command属性像是进行了命令补全
top -c
显示指定的进程信息,以下显示进程号为6972的进程信息,CPU、内存占用率等
top -p 32
top命令的用法很多
但是常用的就是top(不带参数),有的时候,在进程比较多的时候,我们常常记住进程的pid,然后通过top -p pid进行查看
也就是说,top+ top -p是经常被用到的
1.2.7 ps 命令
Linux ps命令用于显示当前进程 (process) 的状态信息
使用者权限:所有用户
格式:
ps
显示进程信息
ps -A
显示指定用户信息
ps -u txt
显示所有进程信息
ps -ef
1.2.8 kill 命令
Linux kill命令用于删除执行中的程序或工作(可强制中断)
使用者权限:所有用户
格式:
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数说明:
- -l <信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
- -s <信息名称或编号> 指定要送出的信息。
- [程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
杀死一个进程
kill 15642
强制杀死进程
kill -KILL 15642
彻底杀死进程
kill -9 15642
杀死指定用户所有进程
- 方法一:过滤出txt用户进程
kill -9 $(ps -ef | grep txt)
- 方法二:直接杀死
kill -u txt
注意
上面列举了很多kill进程的命令
但是我们我们常用的就是kill -9命令,我们常常找到进程的pid
然后通过kill -9进行杀死进程
1.2.9 关机命令
shutdown命令可以用来进行关闭系统,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机
使用者权限:管理员用户
格式:
shutdown [-t seconds] [-rkhncfF] time [message]
**
shutdown [-t seconds] [-rkhncfF] time [message]
参数说明:
- -t seconds : 设定在几秒钟之后进行关机程序。
- -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
- -r : 关机后重新开机。
- -h : 关机后停机。
- -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
- -c : 取消目前已经进行中的关机动作。
- -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)。
- -F : 关机时,强迫进行 fsck 动作。
- time : 设定关机的时间。
- message : 传送给所有使用者的警告讯息。
立即关机
shutdown -h now
或者
shutdown
指定1分钟后关机,1分钟关机并显示警告信息
shutdown +1 “System will shutdown after 1 minutes”
指定1分钟后重启,并发出警告信息
shutdown –r +1 “1分钟后关机重启”
1.2.10 重启命令
reboot命令用于用来重新启动计算机
使用者权限:管理员、普通(需要验证)用户
格式:
reboot [-n] [-w] [-d] [-f] [-i]
参数:
- -n : 在重开机前不做将记忆体资料写回硬盘的动作
- -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
- -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
- -f : 强迫重开机,不呼叫 shutdown 这个指令
- -i : 在重开机之前先把所有网络相关的装置先停止
开始重新启动
reboot
1.2.11 who命令
who命令用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等
使用者权限:所有使用者都可使用。
格式:
who - [husfV] [user]
参数说明:
- -H 或 --heading:显示各栏位的标题信息列;
- -i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
- -m:此参数的效果和指定"am i"字符串相同;
- -q 或–count:只显示登入系统的帐号名称和总人数;
- -s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
- -w 或-T或–mesg或–message或–writable:显示用户的信息状态栏;
- –help:在线帮助;
- –version:显示版本信息
显示当前登录系统的用户
who
显示明细(标题)信息
who -H
1.2.12 timedatectl命令
使用者权限:所有使用者都可使用,设置时间需要管理员,下面会标注。
几个常见的概念,进行总结如下:
显示系统的当前时间和日期,使用命令行中的timedatectl命令
timedatectl status
在上面的示例中,分别显示时区、CST时间和UTC时间,其中,RTC time就是硬件时钟的时间,硬件时间默认为UTC。
查看当前时区
timedatectl | grep Time
或者
timedatectl
查看所有可用的时区
timedatectl list-timezones
设置本地时区
timedatectl set-timezone "Asia/Shanghai"
禁用时间同步(使用管理员账户)
timedatectl set-ntp false
在执行
timedatectl set-time "2019-03-11 20:45:00"
注意: 如果ntp时间同步为true时无法修改时间设定
打开ntp
timedatectl set-ntp true
在执行
timedatectl set-time "2019-03-11 20:45:00"
执行效果如下(ntp时间同步为true时无法修改时间设定)
报错信息 如下
启用时间同步
timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。
要开始自动时间同步到远程NTP服务器,在终端键入以下命令。
timedatectl set-ntp true
同步前
同步后
总结
在实际使用过程中
我们经常使用timedatectl进行时区、CST、UTC的设置
2 目录管理
2.1 文件与目录
2.1.1 目录常用命令
- ls: 列出目录
- cd: 切换目录
- pwd: 显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- cp: 复制文件或目录
- rm: 移除文件或目录
- mv: 移动文件与目录或修改文件与目录的名称
自动补全 - 在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下
tab
键 - 如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令
1)pwd 显示当前目录
查看当前所在目录
pwd -P
2)mkdir(创建目录)
格式:
mkdir [-p] dirName
参数说明:
- -p 确保目录名称存在,不存在的就建一个
建立一个名为jinyanlong 的子目录
mkdir -p jinyanlong
在工作目录下的 aaa目录中,建立一个名为 bbb的子目录。 若 aaa目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 aaa目录不存在,则产生错误。)
mkdir -p aaa/bbb
由上图我们发现,aaa目录被强制创建,里面包含了bbb文件。
3)rmdir(删空目录)
rmdir命令删除空的目录
使用权限:于目前目录有适当权限的所有使用者。
格式:
rmdir [-p] dirName
参数:
- -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
将工作目录下,名为 jinyanlong 的子目录删除 :
rmdir -p jinyanlong
在工作目录下的 aaa目录中,删除名为 bbb的子目录。若 bbb删除后,aaa目录成为空目录,则 aaa同时也会被删除
总结:
rmdir -p aaa/bbb也就是说
在删除bbb目录完成后,发现aaa目录也是空目录了,在删除完bbb后aaa也同时被删除了。
4)cp (文件复制)
cp命令主要用于复制文件或目录。
使用权限:于目前目录有适当权限的所有使用者
格式:
cp [options] source dest
或
cp [options] source ... directory
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r/R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
1、数据准备
创建aaa目录并且aaa下包含bbb目录
mkdir -p aaa/bbb
mkdir -p ccc
aaa目录下有bbb
ccc下面没有目录和文件
2、执行复制
cp -r aaa/* ccc
总结:
用户使用该指令复制目录时,必须使用参数"-r"或者"-R"。
如果不加参数"-r"或者"-R",只复制文件,而略过目录
5)rm(删除目录)
rm命令用于删除一个文件或者目录。
使用权限:于目前目录有适当权限的所有使用者
格式:
rm [options] name
参数:
- -i 删除前逐一询问确认。
- -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
- -r 将目录及以下之档案亦逐一删除。
如果我们要删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:
rm -r ccc
注意
文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令
如果删除文件(比如.sh 、.txt)
直接使用rm name.txt
6)mv(移动文件)
mv 命令用来为文件或目录改名、或将文件或目录移入其它位置
格式:
mv [options] source dest
mv [options] source... directory
参数说明:
- -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
- -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;
将文件 bbb更名为 ccc:
mkdir -p bbb
mv bbb ccc
将ccc目录放入ddd目录中。
注意,如果ddd目录不存在,则该命令将ccc改名为ddd。
2.2 文件基本属性
在Linux中我们可以使用ll或者 ls –l 命令或者 ls -al 命令来显示一个文件的属性以及文件所属的用户和组,如:
ls -l
or
ls -al
版权声明:本文标题:Linux基础命令合集 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732134861h1522906.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论