Linux 基本命令解析

按 Ctrl+F 在当前页面搜索命令

切换管理员用户

su

 把用户设置为管理员权限

su      #切换为管理员
vim /etc/sudoers      #打开/etc/sudoers配置文件
admin ALL=(ALL) ALL     #在配置文件中添命令(admin替换成想更改为管理员权限的用户名) 

命令太长想两行输入

cp /var/spool/mail/root /etc/crontab \
> /etc/fstab /root         #('\'加键盘回车)即可实现

Ls 命令

ls [-选项] <目录/路径>

ls        #显示目录文件命令
ls -l     #列出文件详细信息
ls -a     #查看当前路径所有文件,包括隐藏文件

常用命令

cd <目录名/路径>   #切换目录命令

pwd          #显示当前目录命令 
clear        #清除屏幕
hostname     #查看主机名
date         #查看日期
cal          #查看日历
uname        #查看当前系统
who          #查看当前用户
history      #显示历史命令列表

创建目录命令 mkdir

mkdir [-选项] <目录名/路径>
      -p 递归创建,即目录的上级目录不存在就先创建上级目录
      -v 输出目录创建的详细信息

创建普通文件命令 touch

touch [选项] <文件名>

touch a.txt b.txt c.txt  #同时创建多个文件a.txt b.txt c.txt

删除空目录命令 rmdir

rmdir [选项] <目录名>
      -p 删除指定的目录,若目录的上级目录为空也一同删除
      -v 输出目录删除的详细信息
#如果目录下存在文件,则不能删除
#在本目录下,无法删本目录

删除文件或目录命令 rm

rm [选项] <文件或目录名>
    -f 强制删除
    -i 在删除之前给出提示信息
    -r 递归删除目录及其内容

rm –r a       #删除目录a
rm –rf a       #强制删除目录a
rm –rf /usr/local/a   #强制删除/usr/local/a目录

复制文件或目录命令 cp

cp [-选项] <原文件或目录> <目标文件或目录>
   -r  递归复制目录及其子目录的所有内容

cp -r aa bb         #复制aa文件及其下的所有文件目录到bb目录下
cp -r aa ~/cc       #复制aa文件及其下的所有文件目录到主目录下的cc目录

剪切文件或目录命令 mv(剪切,移动,重命名)

mv [-选项] <原文件或目录> <目标文件或目录>

mv a1.txt t.txt     #把a1.txt文件改名为t.txt文件

显示文件内容命令 cat

cat [选项] <文件名>

cat 1.txt    #查看1.txt 文件

分页显示文件内容命令 more

more [选项] <文件名> #该命令按空格键或f键向后翻页,按b键向前翻页,按回车键换行可一行一行往后显示,按q键退出

分页显示文件内容命令 less

less [选项] <文件名> 该命令按PgUp/PgDn键可以向前/后翻页,上下的箭头换行(一行一行的往前或后显示),按q键退出

显示前n行文件内容命令 head

head [选项] <文件路径>
      -n    #不加 -n 默认显示前 10 行数据

head -5 /etc/services   #查看/etc/sercices 文件的前五行

显示后n行文件内容命令 tail

tail [选项] <文件名>
      -n      #不加 -n 默认显示前 10 行数据

tail -5 /etc/services   #查看/etc/sercices 文件的后五行

输出内容命令echo

echo [选项] <参数> #把参数输入到屏幕上

    -e 解析转义字符

单引号:引号里面的内容会原封不动的显示出来

双引号:里面的特殊符号会被解析(如“\” 换行符),变量也会被替换

echo hello word. \nhello linux.

输出:

hello word. \nhello linux.

echo -e “hello word. \nhello linux.

输出:

hello word.
hello linux.

重定向 >,>>

data > 1.txt    #把当前日期覆盖写入1.txt文件
ls >> 1.txt     #把ls输出的内容写入1.txt文件中不覆盖以前写入的文件

管道命令 |

管道命令就是用来连接多条指令的,前一条指令的输出会作为后一条指令的输入。 管道命令的操作符是"|",它只能处理由前面一条指令传出的正确输出信息,对错误信息是没有直接处理能力的。然后,传递给下一条指令,作为操作对象

echo -e "hello word. \nhello linux." | wc -l #用管道命令wc -l查询echo 输出的行数 
cat test.txt |wc -w #用管道命令查询test.txt 的字符数

统计命令 wc

wc [选项] <文件名>

wc -l hang.txt   #统计tongji.txt的行数
wc -w danci.txt    #统计danci.txt的单词数

通配符 * ? [ ] { }

*  #代表任意长度字符串,如:*.txt代表以.txt结尾的所有文件
?  #代表任意字符,如:ls -l /bin/??sh列出/bin目录下文件名为4个字符,以sh结尾的所有文件
[] #有序序列数字或字符,如ls /file[0-9].txt
{} #字符串匹配,如rm –rf {jiaoben,script}*.sh (文件名中含有jiaoben和script)

ls /bin/*.sh     #查看/bin目录下以sh为后缀的文件
ls /bin/??sh     #查看/bin目录下以sh结尾的四个字符的文件

vim 基本操作

命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

输入模式:正常的文本录入。

底线命令模式(末行模式):保存或退出文档,以及设置编辑环境。

  • 在命令模式下输入命令 i 可以进入输入模式。
  • 输入模式下屏幕的最底端会提示“--INSERT(插入)”字样。只有在输入模式下,用户才可以进行文字和数据的输入。
  • 输入模式下切换回命令模式,按Esc键即可
  • 在命令模式下,用户按“:”键即可进入底线命令模式
  • 要退出vim,在命令模式下键入下面所示命令。 其中:wq是保存退出,而:q是不保存退出。 :wq!是保存后强制退出,:q!是不保存强制退出。
  • vim在打开文件时,如果该文件不存在,会自动创建此文件。

查找文件命令 find

find [路径] [选项] [表达式]     #find通常与通配符搭配,结合管道符后能够实现更加复杂的功能。

find . -type f       #列出当前目录及其子目录下的所有普通文件
find /usr/local -name *.sh   #查看/usr/loval目录下名字以sh为后缀的文件
find /etc -size +1M         #查找/etc目录下超过1M的文件
sudo find /usr -name ta*.txt   #切换为管理员用户查找/usr目录下文件名为ta*.txt
find ./1.txt |wc -l      #显示出1.txt文件的行数

查找命令grep

grep [选项] [表达式] [文件名]
     -c 只输出匹配行的计数。
     -i 不区分大小写
     -h 查询多文件时不显示文件名。
     -l 查询多文件时只输出包含匹配字符的文件名。
     -n 显示匹配行及行号。
     -s 不显示不存在或无匹配文本的错误信息。
     -v 反转查找,显示不包含匹配文本的所有行。

gerp "test" testgrep     #从testgrep文件中搜索包含"test"字符串的行
cat /proc/meminfo |grep "Men"|wc-l   #从/proc/meminfo文件中找到含'Men'的有几行

文件压缩/解压命令 tar

tar [选项] [文件名或路径]

tar –czf  压缩包名.tar.gz 压缩的文件路径    #压缩文件
tar -xzf  压缩包 -C 解压后的路径     #解压文件
tar -czf file.tar.gz file1 file2 file3   #把file1,file2,file3压缩成file.tar.gz 压缩包
tar -xzf f.tar.gz -C bb    #把f.tar.gz解压到bb目录

软件安装命令 rpm和yum

rpm -ivh <rpm包名> ##安装rpm软件包
     -i (install):安装
     -v(verify):在安装中显示详细的安装信息
     -h(horizontal): 显示水平进度条"#"

rpm -e <包名>    #删除软件包   查询包名的时候不用带后缀rpm
rpm –q <包名>    #查询软件包   查询包名的时候不用带后缀rpm
rpm –qa          #查询安装的所有rpm软件包

yum [选项] [命令] [包名]

-yum install <软件包名>   #安装包
-yum list <软件包名>      #查询包
-yum info <软件包名>      #查询包详细信息
-yum update <软件包名>    #更新包
-yum remove <软件包名>    #删除包

用户与组群管理

创建用户

useradd [选项] [用户名]

    -d 指定用户的主目录,默认用户组目录为/home/用户名

    -e 帐号到期日期,格式为:YYYY-MM-DD

    -u 指定用户的UID

    -g 用户所属主组群的组群名称或者GID

    -G 用户所属的附属组群列表

    -N 不创建与用户同名的基本用户组

    -s 指定用户的登录Shell,默认为/bin/bash

sudo useradd student     #切换为管理员用户创建student用户
sudo useradd -e "2023/01/01" student1     #切换为管理员用户创建student1哟用户到期时间为2023.1.1
ls /home        #查看所以创建的用户

 创建组

groupadd [选项] [用户名]

    -f 如果组已经存在则成功退出

    -g 为新组使用 GID,并且如果 GID 已经存在则取消

    -h 显示此帮助信息并推出

    -K 不使用 /etc/login.defs 中的默认值

    -o 允许创建有重复 GID 的组

    -p 为新组使用此加密过的密码

    -r 创建一个系统账户 -R chroot 到的目录

sudo groupadd school      #切换为管理员用户创建school用户组
sudo groupadd -g 1001 school1     #切换为管理员用户创建标识号为1009的组school1

 查询用户所属的组

groups [选项] [用户名]

groups stduent            #查询 student 用户所属的组

查询用户身份标识

id [选项] [用户名]

  • uid是用户id,1000说明是一个普通用户;1000~60000的UID号默认分配给普通用户使用
  • gid是组id,同uid的判断方式相同,1000是普通组。 
id root #查询 root 用户的 id

 删除用户

userdel [选项] [用户名]

-r 同时删除用户及用户目录

-f 强制删除用户 sudo userdel

sudo userdel -r student    #使用userdel命令删除student帐户,同时删除student帐户的主目录 用ls /home 后会发现student 目录已经被删除

删除用户时,提示用户正在被某进程使用,在确保关闭所有文件的状态下,可以用kill命令杀死进程,kill命令使用需慎重!!!

如:userdel:user u02 is currently used by process 4538

userdel -r u02    #提示userdel:user u02 is currently used by process 4538
kill 4538         #杀死4538进程

删除组

groupdel [选项] [用户名]

  • 删除组之前,应先将组成员移出该组(先删除用户)
  • 注:不能使用 groupdel 命令随意删除组。
  • 此命令仅适用于删除那些 “不是任何用户的初始组(主组)” 的组,
  • 如果需要删除的组是某用户的初始组(主组),则无法使用 groupdel命令成功删除。 
sudo groupdel school #切换为管理员用户并且删除组school

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值