当前位置: 首页 > news >正文

2 linux系统基础命令+文件操作命令

2.1 常见命令

2.1.1 查看当前登录用户信息的基础命令

last  # 显示上次登录的用户列表信息
who  # 显示当前所有登录到系统的用户信息
whoami  # 查看当前登录的用户
who am i  # 仅显示当前终端登录系统的用户名+终端+登录时间+来源主机,‘i’可以是任意字符,等同于who -m
[wch@wch-rokey-9 ~]$ whoami
wch
[wch@wch-rokey-9 ~]$ who am i
wch      pts/1        2025-09-03 08:51 (10.0.0.1)
[wch@wch-rokey-9]$ who
root     tty1         2025-09-03 09:45
wch      pts/0        2025-09-03 10:54 (10.0.0.1)
id  # 查看当前用户的所有信息
su 用户  # 切换用户,切换后保存上一个用户的信息
su - 用户  # 切换一个全新的用户,切换后在新用户的家目录下
w  # 显示当前系统登录的用户和活动状态
[wch@wch-rokey-9 ~]$ w09:32:04 up  2:26,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
wch      pts/0     二10   22:09m  0.06s  0.06s sshd: wch [priv]
wch      pts/1     08:51    2.00s  0.03s  0.00s w

2.1.2 简单的shell命令

Shell:操作系统和应用程序之间的命令翻译工具


echo $SHELL  # 查看当前系统的shell
cat /etc/shells  # 查看当前系统支持的shell
[wch@wch-rokey-9 ~]$ echo $SHELL
/bin/bash
[wch@wch-rokey-9 ~]$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash/bin/bash 脚本  # 执行脚本文件

2.1.3 变量相关命令

echo $变量名  # 查看变量
env  # 查看系统变量
变量名="/path/to/file"  # 临时定义变量

2.1.4 查看系统信息的命令

lscpu  # 查看cpu
free  # 查看内存
arch  # 查看系统架构
uname -r  # 查看内核信息
cat /etc/redhat-release  # 查看系统发行版本信息(Rokey)
cat /etc/os-release      # 查看系统发行版本信息
cat /etc/lsb-release      # 查看系统发现版本(Ubuntu)

2.1.5 进程基本命令查看

# PS
ps aux  # 常见搭配,列出所有进程,并列出属主
ps -ef  # 常见搭配,列出所有进程,并列出属主
ps -eFH  # 详细格式列出所有进程
pstree  # 树状图的形式直观的显示进程和子进程

2.1.6 历史命令

# 命令行上下箭头可找历史命令
ctrl+p  # 显示上一条命令,上箭头一个效果
history  # 显示历史命令
history -c  # 清除历史命令
!!  # 重复执行上一条命令
!n      # 执行history的第n条命令
!string  # 重复前一个以“string”开头的命令
ctrl+r  # 进入历史命令的模式下搜索命令
ctrl+g  # 退出搜索模式

2.1.7 命令行快捷键

ctrl+A  # 光标回行首
ctrl+E  # 光标回行尾ctrl+k  # 删除光标到行尾内容
ctrl+u  # 删除光标到行首内容
ctrl+y  # 粘贴删除的内容
ctrl+c  # 终止执行的命令
Esc+b/Alt+b    # 移动到单词开头
Esc+f/Alt+f    # 移动到单词结尾

2.1.8 命令帮助

# whatis借助linux内部的命令数据库文档显示命令的简单描述# man命令可以获取对应命令的详细手册# --help绝大多数命令都支持该选项,显示对应命令的基本用法# info命令:类似man,但显示的结果更加结构化,包含更多示例(看发行版)

2.2 文件与目录命令

ls  # 不加目录默认显示当前目录下文件,加目录显示该目录下文件信息
tree  dir  # 以树形结构显示dir目录结构
mkdir dir  # 创建dir目录
mkdir -p /dir/dir1/dir2  # 递归创建目录
cd dir  # 进入到dir目录
cd ~  # 进入到家目录
cd -  # 进入到上一次访问的目录下
cd .  # 进入当前所在目录
cd ..  # 进入上一级目录
pwd  # 打印当前所在绝对路径
cp sour_file dest_file  # 文件复制
cp file dir1  # 把文件复制到目录,文件可以是多文件
cp -r dir1 dir2  # 复制目录
mv file1 file2  # 同目录下移动相当于重命名,不同目录则实现文件转移
touch file1  # 创建文件
rm -rf  file|dir  # 删除文件|目录;-f是强制删除,-r是删目录

cat/tac/rev命令


cat -n [file]  # 查看文件内容,显示行号
cat -A [file]  # 显示所有不可见字符的可见形式
cat -E [file]  # 显示结尾符号$
cat -b [file]  # 空行不显示行号
cat -s [file]  # 压缩连续空行为一行
# tac命令逆向显示文件内容,cat的反义
# rev命令逆向显示文件内容,区别tac,rev行内容也逆向

head/tail命令


head -n N [file]  # 显示文件的前N行内容
[wch@wch-rokey-9]$ head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
head -c N [file]  # 显示文件的前N个字符(截取字符)
# tail是head的反向命令
tail -n 10 [file] # 显示文件后十行内容
tail -f # 实时监控文件,常用监控日志记录
[wch@wch-rokey-9]$ sudo tail -n1 -f /var/log/messages
[sudo] wch 的密码:
Sep 15 06:20:30 wch-rokey-9 systemd-logind[806]: Removed session 1.
# head和tail可配合获取文件中某一行内容
[wch@wch-rokey-9]$ head -n10 /etc/passwd | tail -n1
operator:x:11:0:operator:/root:/sbin/nologin

echo/printf命令


# 将内容显示到默认的输出设备
echo "hello world!"  # 将hello world输出到终端命令行
echo "hello world" >> ./hello  # 将字符串hello world追加到文件hello中
echo -e [string]  # 启用转义字符的解析
[wch@wch-rokey-9]$  echo -e "The 2021 State of DevOps Report\n\t- is here"  # 将\n和\t转换为换行符和tab
The 2021 State of DevOps Report- is here
echo -n [string]  # 信息输出是不换行
[wch@wch-rokey-9]$ echo -n "hello world!"
hello world!07:37:29-[当前目录:~]
# printf类似C语言的printf函数,可格式化显示一些信息
[wch@wch-rokey-9]$ printf "hello world\n"
hello world
08:21:05-[当前目录:~]
[wch@wch-rokey-9]$ printf "hello world"  # 区别于echo,printf默认不换行,需要加\n
hello world08:21:13-[当前目录:~]
[wch@wch-rokey-9]$ printf "姓名:%s, 语文:%d, 数学:%d\n" "张三" 89 98  # printf占位符
姓名:张三, 语文:89, 数学:98
[wch@wch-rokey-9]$ printf "(%d %s)\n" 1 张三 2 李四 3 王五  # 批量化输出信息
(1 张三)
(2 李四)
(3 王五)

wall/write命令


# wall用于给多用户广播发送消息,一般用于系统管理向登录到系统的用户广播通知
wall "message-hello"  # 将该信息发送给所有系统已登录用户
wall message.txt  # 将该文件内容发送给所有系统已登录用户
# write区别于wall,write可指定具体用户发送消息
write [用户名] [ttyname]
[wch@wch-rokey-9]$ echo "hello wch pts/0" | write wch pts/0
[wch@wch-rokey-9]$
wch@wch-rokey-9.6 于 pts/1 在 08:07 发的消息...
hello wch pts/0
EOF
http://www.wxhsa.cn/company.asp?id=5035

相关文章:

  • 支持国产cpu架构的nacos-2.4.3
  • nc工具使用 - 谷粒
  • 完整教程:【C++】22. 封装哈希表实现unordered_set和unordered_map
  • Azure App Service连接Azure SQL MI
  • 将目标数据复制到服务器-ServerSetReplicatedTargetData()
  • 不是说 PHP 不行了吗?为什么 Swoole 还在更新?
  • qoj1831 Bruteforce
  • C++数据结构和算法:链表
  • CAI:开源网络安全AI框架,打造自主安全测试智能体
  • GAS中,负责封装技能所影响的目标数据(如 Actor、位置、碰撞结果等)-FGameplayAbilityTargetData
  • 详细介绍:Maven入门_简介、安装与配置
  • 实用指南:立体校正原理
  • train-labels.idx1-ubyte里是什么
  • 滑动窗口最大值-leetcode
  • 创建预测窗口-ScopedPredictionWindow();
  • 95. 不同的二叉搜索树 II
  • lc1028-从先序遍历还原二叉树
  • P12558 [UOI 2024] Heroes and Monsters 题解
  • 加把劲——2025 年中总结
  • Ability-GetCurrentActorInfo()-IsLocallyControlled()和APawn::IsLocallyControlled()
  • 应该遵守的代码规范与读《数学之美》有感
  • AbilitySystemComponent和AbilityTask
  • AT_arc171_c [ARC171C] Swap on Tree
  • 202509_QQ_冷门的Base家族
  • SpawnActorDeferred()和SpawnActorOfClass()
  • 【QT】信号和槽
  • 学习日报|线程池专题学习总结 - 详解
  • 如何设计业务架构 - 智慧园区
  • snmp协议
  • 刷题复习(四)二分搜索