首页 > 系统相关 >Linux命令实践

Linux命令实践

时间:2024-09-10 18:25:20浏览次数:1  
标签:10 4096 实践 li 命令 ls Linux echo GmSSL

目录

课上测试

作业题目:Linux命令实践

学习Linux核心命令

  • ls
  • who
  • pwd
  • cd
  • man
  • whereis
  • which
  • find
  • locate
  • grep

作业要求(9‘)

  • 参考课件,针对上面核心命令重复老师的演示内容(3’)
  • 选择自己习惯的 AI 工具, 针对上面核心命令,让 AI 给自己生成至少例子,然后自己进行验证,总结(3’)
  • 让 AI工具推荐一些重要命令,然后选择自己认为会高频应用的至少 3个命令(重点推荐 echo,od,sort,bc,ls)进行自主深入学习,每个命令不少于 5 个例子,提交验证,实践过程和总结(3’)

作业内容

命令演示

  • ls
~$ ls
公共的  模板  视频  图片  文档  下载  音乐  桌面  GmSSL  snap

~$ ls -l
总计 40
drwxr-xr-x 2 li li 4096  9月  2 14:08 公共的
drwxr-xr-x 2 li li 4096  9月  2 14:08 模板
drwxr-xr-x 2 li li 4096  9月  2 14:08 视频
drwxr-xr-x 2 li li 4096  9月  2 14:08 图片
drwxr-xr-x 2 li li 4096  9月  2 14:08 文档
drwxr-xr-x 2 li li 4096  9月  2 14:08 下载
drwxr-xr-x 2 li li 4096  9月  2 14:08 音乐
drwxr-xr-x 2 li li 4096  9月  2 14:08 桌面
drwxrwxr-x 3 li li 4096  9月  6 21:50 GmSSL
drwx------ 4 li li 4096  9月  6 21:08 snap

~$ ls -a
.              .lesshst
..             .local
公共的         .profile
模板           snap
视频           .sudo_as_admin_successful
图片           .vboxclient-clipboard-tty2-control.pid
文档           .vboxclient-clipboard-tty2-service.pid
下载           .vboxclient-draganddrop-tty2-control.pid
音乐           .vboxclient-draganddrop-tty2-service.pid
桌面           .vboxclient-hostversion-tty2-control.pid
.bash_history  .vboxclient-seamless-tty2-control.pid
.bash_logout   .vboxclient-seamless-tty2-service.pid
.bashrc        .vboxclient-vmsvga-session-tty2-control.pid
.cache         .vboxclient-vmsvga-session-tty2-service.pid
.config        .viminfo
GmSSL


  • who
~$ who
li       tty2         2024-09-10 11:06 (tty2)
~$ whoami
li
~$ who -a
           系统引导 2024-09-10 10:15
           运行级别 5 2024-09-10 10:16
li       + tty2         2024-09-10 11:06 01:00        2748 (tty2)
           pts/1        2024-09-10 11:08              3722 id=ts/1  终止=0 退出=0

  • pwd
~$ pwd
/home/li
  • cd
~$ cd /
li@li-VirtualBox:/$ ls
bin    dev   lib    libx32      mnt   root  snap      sys  var
boot   etc   lib32  lost+found  opt   run   srv       tmp
cdrom  home  lib64  media       proc  sbin  swapfile  usr

/$ cd home
li@li-VirtualBox:/home$ 

/home$ cd .
li@li-VirtualBox:/home$ 

/home$ cd ..
li@li-VirtualBox:/$ 

~/GmSSL$ cd ..
li@li-VirtualBox:~$ cd -
/home/li/GmSSL
li@li-VirtualBox:~/GmSSL$ 

  • man
/$ man man
MAN(1)                         手册分页显示工具                         MAN(1)

名称
       man - 系统参考手册的接口

概述
       man [man 选项] [[章节] 页 ...] ...
       man -k [apropos 选项] 正则表达式 ...
       man -K [man 选项] [章节] 关键词 ...
       man -f [whatis 选项] 页 ...
       man -l [man 选项] 文件 ...
       man -w|-W [man 选项] page ...

  • whereis
/$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

  • which
/$ which ls
/usr/bin/ls

  • find
~$ find GmSSL
GmSSL
GmSSL/GmSSL-master.zip
GmSSL/GmSSL-master

~$ find 文档 -mtime -1
文档
文档/test.txt
文档/.test.txt.swp

  • locate
~$ locate GmSSL
/home/li/GmSSL
/home/li/GmSSL/GmSSL-master
/home/li/GmSSL/GmSSL-master.zip

  • grep
~$ grep -nr O_RDWR /usr/include
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:45:#define O_RDWR		     02
/usr/include/asm-generic/fcntl.h:22:#define O_RDWR		00000002
/usr/include/linux/dma-heap.h:18:/* Valid FD_FLAGS are O_CLOEXEC, O_RDONLY, O_WRONLY, O_RDWR */
/usr/include/scsi/cxlflash_ioctl.h:65: * and O_RDWR flags defined in the fcntl.h header file.
/usr/include/drm/drm.h:839:#define DRM_RDWR O_RDWR

  • cheat
~$ cheat ls
# To display everything in <dir>, excluding hidden files:
ls <dir>

# To display everything in <dir>, including hidden files:
ls -a <dir>

# To display all files, along with the size (with unit suffixes) and timestamp:
ls -lh <dir>

# To display files, sorted by size:
ls -S <dir>

# To display directories only:
ls -d */ <dir>

# To display directories only, include hidden:
ls -d .*/ */ <dir>

# To display all files sorted by changed date, most recent first:
ls -ltc 

# To display files sorted by create time:
ls -lt

# To display files in a single column:
ls -1

# To show ACLs (MacOS):
# see also `cheat chmod` for `/bin/chmod` options for ACLs
/bin/ls -le

# To show all the subtree files (Recursive Mode):
ls -R

AI提问及验证(重复命令未列出)

下面我将为您提供这些Linux核心命令的简要说明以及使用示例。

    1. ls

描述:列出目录内容。

使用示例

ls                # 列出当前目录下的文件和目录
ls -l             # 以长格式列出信息,包括文件权限、所有者、大小和最后修改时间
ls -a             # 列出所有文件,包括以点(.)开头的隐藏文件
ls -la            # 结合-l和-a选项

实践

~$ ls -la
总计 120
drwxr-x--- 15 li   li   4096  9月 10 12:46 .
drwxr-xr-x  3 root root 4096  9月  2 13:50 ..
drwxr-xr-x  2 li   li   4096  9月  2 14:08 公共的
drwxr-xr-x  2 li   li   4096  9月  2 14:08 模板
drwxr-xr-x  2 li   li   4096  9月  2 14:08 视频
drwxr-xr-x  2 li   li   4096  9月  2 14:08 图片
drwxr-xr-x  2 li   li   4096  9月  2 14:08 文档
drwxr-xr-x  2 li   li   4096  9月  2 14:08 下载
drwxr-xr-x  2 li   li   4096  9月  2 14:08 音乐
drwxr-xr-x  2 li   li   4096  9月  2 14:08 桌面
-rw-------  1 li   li   2431  9月 10 11:31 .bash_history
-rw-r--r--  1 li   li    220  9月  2 13:50 .bash_logout
-rw-r--r--  1 li   li   3771  9月  2 13:50 .bashrc
drwx------ 14 li   li   4096  9月  2 17:13 .cache
drwxr-xr-x 15 li   li   4096  9月  6 21:41 .config
drwxrwxr-x  3 li   li   4096  9月  6 21:50 GmSSL
-rw-------  1 li   li     20  9月 10 11:22 .lesshst
drwx------  3 li   li   4096  9月  2 14:08 .local
-rw-r--r--  1 li   li    807  9月  2 13:50 .profile
drwx------  4 li   li   4096  9月  6 21:08 snap
-rw-r--r--  1 li   li      0  9月  2 15:25 .sudo_as_admin_successful
-rw-r-----  1 li   li      5  9月 10 12:45 .vboxclient-clipboard-tty2-control.pid
-rw-r-----  1 li   li      5  9月 10 12:45 .vboxclient-clipboard-tty2-service.pid
-rw-r-----  1 li   li      5  9月 10 12:46 .vboxclient-draganddrop-tty2-control.pid
-rw-r-----  1 li   li      5  9月 10 12:46 .vboxclient-draganddrop-tty2-service.pid
-rw-r-----  1 li   li      5  9月 10 12:45 .vboxclient-hostversion-tty2-control.pid
-rw-r-----  1 li   li      5  9月 10 12:46 .vboxclient-seamless-tty2-control.pid
-rw-r-----  1 li   li      5  9月 10 12:46 .vboxclient-seamless-tty2-service.pid
-rw-r-----  1 li   li      5  9月 10 12:46 .vboxclient-vmsvga-session-tty2-control.pid
-rw-r-----  1 li   li      5  9月 10 12:46 .vboxclient-vmsvga-session-tty2-service.pid
-rw-------  1 li   li    858  9月  6 21:36 .viminfo
    1. who

描述:显示当前登录系统的用户信息。

使用示例

who               # 显示当前登录的所有用户信息
    1. pwd

描述:打印当前工作目录的绝对路径。

使用示例

pwd               # 显示当前工作目录的路径
    1. cd

描述:更改当前工作目录。

使用示例

cd /home/user     # 更改到/home/user目录
cd ..             # 更改到上一级目录
cd -              # 切换到上一次所在的目录
    1. man

描述:显示命令的手册页(帮助文档)。

使用示例

man ls            # 显示ls命令的手册页
    1. whereis

描述:定位命令的二进制程序、源代码和手册页的位置。

使用示例

whereis ls        # 显示ls命令的二进制、源代码和手册页的位置
    1. which

描述:显示给定命令的绝对路径。

使用示例

which ls          # 显示ls命令的绝对路径
    1. find

描述:在目录树中搜索文件,并执行指定的操作。

使用示例

find /home -name "*.txt"   # 在/home目录下查找所有扩展名为.txt的文件

~/文档$ find /home/li/文档 -name "*.txt"
/home/li/文档/test.txt
    1. locate

描述:快速查找文件系统中的文件。使用预先构建的数据库来查找文件,因此比find快,但可能不是最新的。

使用示例

locate filename.txt   # 查找所有名为filename.txt的文件
    1. grep

描述:搜索文本,并将匹配的行打印出来。

使用示例

grep "error" log.txt   # 在log.txt文件中搜索包含"error"的行
grep -r "error" /home  # 在/home目录及其子目录中递归搜索包含"error"的行

~/文档$ grep "123" test2.txt
12346789

~/文档$ grep -r "error" /home
grep: /home/li/GmSSL/GmSSL-master.zip: 匹配到二进制文件
/home/li/GmSSL/GmSSL-master/cmake/cert_commands.cmake:	message(FATAL_ERROR "generate file error")
/home/li/GmSSL/GmSSL-master/cmake/cert_commands.cmake:	message(FATAL_ERROR "generate file error")
...
总结

这些命令是Linux用户日常工作中非常基础且强大的工具。掌握它们将极大地提高我在使用Linux系统时的效率和便利性。

高频命令自主学习

在Linux系统中,有许多重要且常用的命令,这些命令对于日常的系统管理、文件操作、编程开发等任务至关重要。以下是一些重要的命令推荐。

重要命令推荐
  • ls:列出目录内容。
  • cd:更改当前目录。
  • pwd:显示当前工作目录的完整路径。
  • cp:复制文件或目录。
  • mv:移动或重命名文件或目录。
  • rm:删除文件或目录。
  • chmod:更改文件或目录的权限。
  • chown:更改文件或目录的所有者和/或组。
  • grep:搜索文件内容,显示匹配的行。
  • find:在目录树中搜索文件,并执行操作。
  • ps:显示当前进程的快照。
  • top:实时显示系统进程的动态管理视图。
  • kill:发送信号到进程,通常用于终止进程。
  • tar:归档工具,用于打包和解包文件。
  • ssh:安全地远程登录到另一台计算机。
深入学习命令示例
echo

echo命令用于在终端输出文本或变量的值。

  • 基本用法:echo Hello, World! —— 输出Hello, World!
  • 输出变量:name="Alice"; echo "My name is $name" —— 输出My name is Alice
  • 输出带换行符的文本:echo -e "Line 1\nLine 2" —— 输出两行文本。
  • 输出带颜色的文本:echo -e "\e[31mRed Text\e[0m" —— 输出红色文本。
  • 抑制换行符:echo -n "No newline at end" —— 输出文本但不换行。
/$ echo Hello, World!
Hello, World!

/$ name="Alice"
li@li-VirtualBox:/$ echo "My name is $name"
My name is Alice

$ echo -e "Line 1\nLine 2"
Line 1
Line 2

$ echo -e "\e[31mRed Text\e[0m"
Red Text

li@li-VirtualBox:/$ echo -n "No newline at end"
No newline at endli@li-VirtualBox:/$ 
od

od命令用于将文件或标准输入转换成八进制、十进制、十六进制或其他格式的输出。

  • 以十六进制格式输出文件内容:od -x filename.bin
  • 以字符形式输出文件内容:od -c filename.txt
  • 以无符号单字节格式输出二进制文件:od -t u1 filename.bin
  • 将标准输入以八进制格式输出:echo "Hello" | od -b
  • 忽略前导空白字符:echo -n " Hello" | od -b(注意,-n防止echo自动添加换行符,但od默认显示所有字符,包括空格)。
~/文档$ od -x test2.txt
0000000 3231 3433 3736 3938 610a 6362 6564 6766
0000020 000a
0000021

~/文档$ od -c test2.txt
0000000   1   2   3   4   6   7   8   9  \n   a   b   c   d   e   f   g
0000020  \n
0000021

~/文档$ od -t u1 test2.txt
0000000  49  50  51  52  54  55  56  57  10  97  98  99 100 101 102 103
0000020  10
0000021

~/文档$ echo "Hello" | od -b
0000000 110 145 154 154 157 012
0000006

~/文档$ echo -n "  Hello" | od -b
0000000 040 040 110 145 154 154 157
0000007
bc

bc命令是一个任意精度的计算器语言,用于数学计算。

  • 基础运算:echo "2 + 3" | bc —— 输出5
  • 浮点数运算:echo "scale=2; 10 / 3" | bc —— 输出3.33
  • 变量赋值:echo "a = 5; a + 3" | bc —— 输出8
  • 使用内置函数:echo "s(1)" | bc -l —— 计算正弦值。
  • 循环和条件判断(通过脚本实现):在bc的交互模式下或通过编写脚本实现更复杂的逻辑。
$ echo "2 + 3" | bc
5

$ echo "scale=2; 10 / 3" | bc
3.33

$ echo "a = 5; a + 3" | bc
8

$ echo "s(1)" | bc -l
.84147098480789650665

以上是对echoodbc命令的深入学习和示例展示。

总结

Linux命令行界面是Linux系统的核心。通过学习命令,可以更深入地理解操作系统的内部工作原理,包括文件系统、进程管理、网络配置等。
提高工作效率:Linux命令提供了强大的文本处理、文件管理和系统监控工具。熟练使用这些命令可以极大地提高工作效率,尤其是在处理大量文件、数据分析和系统维护时。
增强问题解决能力:在Linux环境中,很多问题都需要通过命令行来解决。学习Linux命令意味着将学会如何查找系统日志、分析进程状态、调试程序等,这些技能对于快速定位和解决系统或应用问题至关重要。

作业提交要求 (1')

  1. 记录实践过程和 AI 问答过程,尽量不要截图,给出文本内容
  2. (选做)推荐所有作业托管到 giteegithub
  3. (必做)提交作业 markdown文档,命名为“学号-姓名-作业题目.md”
  4. (必做)提交作业 markdown文档转成的 PDF 文件,命名为“学号-姓名-作业题目.pdf”

标签:10,4096,实践,li,命令,ls,Linux,echo,GmSSL
From: https://www.cnblogs.com/LizhenGfdhh/p/18406913

相关文章

  • Linux中的主次设备
    简言主设备号(MajorNumber)表示设备的类别或类型,它告诉操作系统应该使用哪个驱动程序来处理这类设备。次设备号区分设备驱动程序管理的不同实例或子设备,某个具体的设备。==同一主设备号的设备通常共用同一套驱动==Linux中常见主设备号列表字符设备(CharacterDevices)1:内存设......
  • ubuntu 使用命令行查看硬件信息
    ubuntu使用命令行查看硬件信息CPUcat/proc/cpuinfo其中,modelname就显示了cpu的型号,cpucores显示cpu的所有物理核心数量。内存cat/proc/meminfo其中,MemTotal就显示总内存大小,这里为32GB内存,SwapTotal显示了交换分区的内存大小,这里为2GB。硬盘大小df-h可以看......
  • openwrt编译带源码信息的linux内核版本遇到的错误
    1、在openwrt的根目录中可以执行如下命令:makemenuconfig打开CONFIG_DEBUG选项就会生成待调试信息的内核版本2、在openwrt的根目录中可以执行如下命令:makekernel_menuconfig打开CONFIG_DEBUG_INFO也会生成待调试信息的内核版本问题描述:在gcc7.5.0和gdb8.1.1的环境中编译出来......
  • Linux iostat 命令详解
    Linuxiostat命令详解在Linux系统管理中,监控磁盘I/O性能是一项至关重要的任务。iostat是sysstat包中的一个实用工具,用于监控和显示系统输入输出设备和CPU的使用情况。它提供了丰富的数据,帮助系统管理员识别并解决潜在的I/O瓶颈问题。本文将详细介绍iostat命令的使用方法和关键参......
  • Linux系统启动速度优化工具systemd-analyze
    systemd-analyze简介systemd-analyze是Linux自带的分析系统启动性能的工具。systemd-analyze可使用的命令:systemd-analyze[OPTIONS…][time]systemd-analyze[OPTIONS…]blamesystemd-analyze[OPTIONS…]critical-chain[UNIT…]systemd-analyze[OPTIONS…]plot[>......
  • fnm安装及配置,Linux中实现node版本管理
    fnm安装及配置,Linux中实现node版本管理源码:Schniz/fnm:......
  • Linux 分区扩容(根分区扩容,SWAP 分区扩容,挂载新分区为目录)
    Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录)-sysin|SYStemINside|软件与技术分享请访问原文链接:Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录),查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgLinux系统在运行过程中,出现磁盘空间不足,需......
  • Linux中PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH的区别
    Linux中PATH、LIBRARY_PATH、LD_LIBRARY_PATH的区别_pathlibrary-CSDN博客这里写目录标题1.PATH2.LIBRARY_PATH3.LD_LIBRARY_PATH1.PATHPATH是可执行文件路径命令行中的命令,如ls等等,都是系统通过PATH找到了这个命令执行文件的所在位置,再run这个命令(可执行文件)。所以,PATH......
  • Linux:du指令
    学习自:Linux命令du详解_du命令-CSDN博客官方文档:http://www.gnu.org/software/coreutils/du1、前言du是diskusage的缩写,即磁盘使用。用于统计文件或目录所占磁盘空间大小。2、用法du选项[目录/文件]3、选项选项说明备注-a显示该目录下所有文件及目录大......
  • 执行Git命令,Git都干了什么?图文带你从基础到进阶了解Git都做了什么
    0.前言Git仓库中的提交记录保存的是你目录下的所有的文件快照,就像把这些文件粘贴复制了一样,但是要比粘贴复制更加优雅。Git希望提交记录尽可能保持轻量,因此在每次提交的时候,它不会盲目的去复制你的整个目录。条件允许的情况下,它会将当前版本与仓库中的上一个版本进行对比,并把所有的......