Linux的奇妙冒险———指令篇第二曲

文章目录

  • 三.时间和日期型
  • 1."date"时间指令
    • 2."cal " 日历
  • 四.用户管理型
    • 1."useradd" 添加新用户
    • 2."passwd"设置用户密码
    • 3."su"切换用户
    • 4."userdel "删除用户
    • 5."who "查看登录人员
    • 6."sudo"对普通人员短暂具有root超级权限
  • 五.搜索查找型
    • 1."find " 查找文件
    • 2."grep " 过滤查找
  • 六.打包压缩型
    • 1."zip " 和 "unzip "
    • 2."tar "打包

三.时间和日期型

1."date"时间指令

在Linux中,"date"命令用于显示或设置系统的日期和时间。使用"date"命令可以查看当前系统时间,也可以设置新的日期和时间。以下是一些常用的"date"命令选项:

“-u”:显示UTC时间
“-R”:以RFC 2822格式显示日期和时间
“-d”:显示指定日期和时间的格式
“+FORMAT”:以指定格式显示日期和时间

date +%Y:%m:%d:%H:%M:%S
年月日:Y,m,d
时分秒:H,M,S
[root@iZf8zbc41kduw4qa52iammZ /]#  date +%Y,%m,%d,%x
2023,12,02,12/02/2023

显示时间戳

date +%s
[root@iZf8zbc41kduw4qa52iammZ /]# date +%s
1701494472

2."cal " 日历

在 Linux 中,“cal” 命令用于显示日历。它会显示当前月份的日历,或者指定月份和年份的日历。以下是一些常用的 “cal” 命令选项:

“-3”:显示当前月份前一个月、当前月份和当前月份后一个月的日历
“-y”:显示指定年份的整年日历
“-m”:指定月份,显示指定月份的日历

cal
[root@iZf8zbc41kduw4qa52iammZ /]# cal 2003
                               2003                               

       January               February                 March       
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
          1  2  3  4                      1                      1
 5  6  7  8  9 10 11    2  3  4  5  6  7  8    2  3  4  5  6  7  8
12 13 14 15 16 17 18    9 10 11 12 13 14 15    9 10 11 12 13 14 15
19 20 21 22 23 24 25   16 17 18 19 20 21 22   16 17 18 19 20 21 22
26 27 28 29 30 31      23 24 25 26 27 28      23 24 25 26 27 28 29
                                              30 31
        April                   May                   June        
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
       1  2  3  4  5                1  2  3    1  2  3  4  5  6  7
 6  7  8  9 10 11 12    4  5  6  7  8  9 10    8  9 10 11 12 13 14
13 14 15 16 17 18 19   11 12 13 14 15 16 17   15 16 17 18 19 20 21
20 21 22 23 24 25 26   18 19 20 21 22 23 24   22 23 24 25 26 27 28
27 28 29 30            25 26 27 28 29 30 31   29 30

        July                  August                September     
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
       1  2  3  4  5                   1  2       1  2  3  4  5  6
 6  7  8  9 10 11 12    3  4  5  6  7  8  9    7  8  9 10 11 12 13
13 14 15 16 17 18 19   10 11 12 13 14 15 16   14 15 16 17 18 19 20
20 21 22 23 24 25 26   17 18 19 20 21 22 23   21 22 23 24 25 26 27
27 28 29 30 31         24 25 26 27 28 29 30   28 29 30
                       31
       October               November               December      
Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa   Su Mo Tu We Th Fr Sa
          1  2  3  4                      1       1  2  3  4  5  6
 5  6  7  8  9 10 11    2  3  4  5  6  7  8    7  8  9 10 11 12 13
12 13 14 15 16 17 18    9 10 11 12 13 14 15   14 15 16 17 18 19 20
19 20 21 22 23 24 25   16 17 18 19 20 21 22   21 22 23 24 25 26 27
26 27 28 29 30 31      23 24 25 26 27 28 29   28 29 30 31
                       30

四.用户管理型

1.“useradd” 添加新用户

useradd 新用户名
useradd -g 组名 新用户
[root@iZf8zbc41kduw4qa52iammZ /]# useradd qiangsir
[root@iZf8zbc41kduw4qa52iammZ /]# su qiangsir
[qiangsir@iZf8zbc41kduw4qa52iammZ /]$ 

2."passwd"设置用户密码

passwd 用户名
[root@iZf8zbc41kduw4qa52iammZ /]# passwd qiangsir
Changing password for user qiangsir.
New password: 
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password: 
passwd: all authentication tokens updated successfully.

3."su"切换用户

在 Linux 中,su 是 “切换用户”(switch user)的命令。它允许当前用户切换到另一个用户的身份,并且在切换后会进入到新用户的环境中。

通常,su 命令后会跟随目标用户的用户名。如果没有指定用户名,则默认切换到超级用户(root)。

[root@iZf8zbc41kduw4qa52iammZ /]# su qiangsir
[qiangsir@iZf8zbc41kduw4qa52iammZ /]$ whoami
qiangsir

[qiangsir@iZf8zbc41kduw4qa52iammZ /]$ su
Password: 
[root@iZf8zbc41kduw4qa52iammZ /]# whoami
root

需要注意的是,使用 su 命令切换到其他用户,需要输入目标用户的密码,而切换到超级用户则需要输入超级用户的密码。

4."userdel "删除用户

在 Linux 中,userdel 命令用于删除用户账户。它会删除指定用户的账户信息,包括用户的主目录和邮件文件等。

以下是一些常用的 userdel 命令选项:

-r:同时删除用户的主目录和邮件文件等

userdel -f qiangsir
[root@iZf8zbc41kduw4qa52iammZ ~]# su qiangsir
su: user qiangsir does not exist

5."who "查看登录人员

在 Linux 中,who 命令用于显示当前登录到系统的用户信息。
它会显示每个已登录用户的用户名、终端、登录时间和远程主机(如果有的话)等信息。
[root@iZf8zbc41kduw4qa52iammZ ~]# who
root     pts/0        2023-12-02 11:55 (111.18.244.243)
root     pts/1        2023-12-02 14:02 (111.18.244.243)
whoami 查看当前使用人员
[root@iZf8zbc41kduw4qa52iammZ ~]# whoami
root

6."sudo"对普通人员短暂具有root超级权限

在Linux中,sudo命令用于以其他用户的身份来执行命令。通常情况下,这个命令需要超级用户(root)的权限来执行。使用sudo命令可以让普通用户以超级用户的权限来执行特定的命令,这有助于提高系统的安全性,因为不需要将超级用户密码分享给其他用户。
例如,要以超级用户的身份来执行reboot命令(重新启动系统),可以使用以下命令:

sudo reboot
[qiangsir@iZf8zbc41kduw4qa52iammZ root]$ sudo reboot

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for qiangsir: 

需要注意的是,sudo命令的使用需要在系统中进行相应的配置,以及对用户进行授权。

五.搜索查找型

1."find " 查找文件

在Linux中,find命令用于在文件系统中查找文件和目录。它提供了很多选项和功能,可以根据不同的条件来查找文件。以下是find命令的基本用法:

find [path] [options] [expression]

[path]:指定要查找的路径,可以是目录的路径。
[options]:可以是一些选项,用来指定查找的条件,比如-name用于按文件名查找,-type用于按文件类型查找等。
[expression]:用于指定查找的条件表达式,比如-name "
.txt"表示查找所有扩展名为.txt的文件。

[root@iZf8zbc41kduw4qa52iammZ ~]# find -name text1.txt
./new2.dir/text1.txt
[root@iZf8zbc41kduw4qa52iammZ ~]# find -name *.txt
./new2.dir/text1.txt
./new2.dir/text2.txt

2."grep " 过滤查找

在 Linux 中,grep 命令用于在文件中搜索指定的模式,并将包含匹配模式的行打印出来。它可以用于快速查找文件中特定的文本内容。
以下是 grep 命令的基本用法:

grep [options] pattern [file]

[options]:可以是一些选项,用于指定搜索的条件,比如 -i 用于忽略大小写,-n 用于显示匹配行的行号等。
pattern:是要搜索的模式,可以是文本或正则表达式。
[file]:是要搜索的文件名,如果不指定文件名,则 grep 命令会从标准输入中读取数据进行搜索。

[root@iZf8zbc41kduw4qa52iammZ ~]# cd new2.dir
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# cat -n test.c
     1	#include<stdio.h>
     2	int main()
     3	{
     4	  printf("hello world\n");
     5	  printf("hello	world\n");
     6	  printf("hello	world\n"); 
     7	  return 0;
     8	}

[root@iZf8zbc41kduw4qa52iammZ new2.dir]# grep "return" test.c
  return 0;
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# grep "return" -n test.c
7:  return 0;

六.打包压缩型

1."zip " 和 "unzip "

“zip” 和 “unzip” 是 Linux 中用于压缩和解压缩文件的命令行工具。

zip:用于将文件和目录压缩成一个ZIP归档文件。

zip [options] zipfile file1 file2 ...
zip -r archive.zip directory1 file1 file2

这将创建一个名为 archive.zip 的ZIP文件,其中包含 directory1 目录以及 file1 和 file2 文件.

[root@iZf8zbc41kduw4qa52iammZ new2.dir]# tree
.
├── test.c
├── text1.txt
└── text2.txt

0 directories, 3 files
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# zip test.zip test.c text1.txt text2.txt -r
  adding: test.c (deflated 39%)
  adding: text1.txt (stored 0%)
  adding: text2.txt (stored 0%)
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# tree
.
├── test.c
├── test.zip
├── text1.txt
└── text2.txt

这就多了一个.zip
删除其他文件解压看看

[root@iZf8zbc41kduw4qa52iammZ new2.dir]# tree
.
├── test.c
├── test.zip
├── text1.txt
└── text2.txt

0 directories, 4 files
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# rm -rf test.c text1.txt text2.txt
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# tree
.
└── test.zip

若未安装unzip,先安装一下

yum -y  install unzip

[root@iZf8zbc41kduw4qa52iammZ new2.dir]# unzip test.zip
Archive:  test.zip
  inflating: test.c                  
 extracting: text1.txt               
 extracting: text2.txt               
[root@iZf8zbc41kduw4qa52iammZ new2.dir]# ll
total 16
-rw-r--r-- 1 root root 127 Dec  2 12:42 test.c
-rw-r--r-- 1 root root 558 Dec  2 14:30 test.zip
-rw-r--r-- 1 root root  13 Dec  2 12:33 text1.txt
-rw-r--r-- 1 root root  13 Dec  2 12:34 text2.txt

这些命令提供了在Linux系统中进行文件压缩和解压缩的便捷方式,可以通过命令行轻松地进行文件归档和解档操作。

2."tar "打包

tar 是一个在 Linux 中用于归档和解档文件的命令行工具。它通常用于将多个文件和目录打包成一个单独的归档文件,或者从归档文件中提取文件和目录。

tar [options] archive-file files/directories
[options]:可以是一些选项,用于指定归档和解档的行为,比如 -c 用于创建归档文件,-x 用于解压缩归档文件等。
archive-file:是要创建的归档文件的名称,或者要解压的归档文件的名称。
files/directories:是要归档或解压的文件或目录的列表。

一些常见的 tar 命令示例:

创建归档文件:

tar -czvf archive.tar.gz file1 file2 directory1
这将创建一个名为 archive.tar.gz 的归档文件,其中包含 file1、file2 和 directory1。

解压归档文件:

tar -xzvf archive.tar.gz
这将从名为 archive.tar.gz 的归档文件中提取所有文件和目录。

你可能感兴趣的:(Linux指南,linux,服务器,运维,学习方法,数据库,c语言)