首页 > 系统相关 >Linux 系统下工作中常用的shell命令

Linux 系统下工作中常用的shell命令

时间:2024-06-16 21:03:39浏览次数:31  
标签:常用 shell cl test3 virtual machine file Linux root

目录

ls:列出目录内容

cd:改变当前工作目录

pwd:显示当前工作目录的路径

cp:复制文件或目录

mv:移动文件或目录

rm:删除文件或目录

mkdir:创建新目录

touch:创建空文件

cat:连接文件并打印到标准输出设备上

grep:在文件中查找模式

find:在文件系统中查找文件

这些命令是非常常用的,每个命令都有使用方式介绍,非常适合新人同学,这些命令和选项能帮助你有效地管理Linux系统上的文件、目录、进程等。

1. ls:

列出当前目录下的内容

常用选项:

  • -l:长格式列出信息
  • -a:显示所有文件,包括隐藏文件(以.开头的文件)
  • -h:以人类可读的格式显示文件大小
ls [options] [file|directory]

# 示例: 展示当前目录下的所有内容
ls -lah

root@cl-virtual-machine:/# ls -lah
total 4393040
lrwxrwxrwx   1 root root          7 11月 11  2023 bin -> usr/bin
drwxr-xr-x   4 root root       4096  6月 16 19:29 boot


2.cd:

改变当前工作目录,切换到你需要的目录下

cd [directory]

#示例 进入到test目录

cd test

3.pwd:

显示当前工作目录的路径

pwd

#示例 显示当前工作目录

root@cl-virtual-machine:/test# pwd
/test
root@cl-virtual-machine:/test#

4.cp:

复制文件或者目录

常用选项:

  • -r:递归复制目录及其内容
  • -f:强制复制
cp [options] source destination

#示例 把test目录下的file文件复制到test2目录下, 两个目录下都有此文件

root@cl-virtual-machine:/test2# cd ..
root@cl-virtual-machine:/# cd test
root@cl-virtual-machine:/test# cp file.txt /test2/
root@cl-virtual-machine:/test# cd /test2/
root@cl-virtual-machine:/test2# ls -al
total 8
drwxr-xr-x  2 root root 4096  6月 16 19:42 .
drwxr-xr-x 22 root root 4096  6月 16 19:40 ..
-rw-r--r--  1 root root    0  6月 16 19:42 file.txt
root@cl-virtual-machine:/test2#

5.mv:

移动文件或者目录

mv [options] source destination

#示例 把test2目录下的文件移到到test3下面,test2目录下不在有,和cp有差异
root@cl-virtual-machine:/test3# ls
root@cl-virtual-machine:/test3# ls -al
total 8
drwxr-xr-x  2 root root 4096  6月 16 19:48 .
drwxr-xr-x 23 root root 4096  6月 16 19:48 ..
root@cl-virtual-machine:/test3# mv /test2/file.txt ./
root@cl-virtual-machine:/test3# ls
file.txt
root@cl-virtual-machine:/test3# cd /test2
root@cl-virtual-machine:/test2# ls
root@cl-virtual-machine:/test2#

6.rm:

删除文件或目录

常用选项:

  • -r:递归删除目录及其内容
  • -f:强制删除文件或目录
rm [options] file

#示例 删除test3目录下的文件

root@cl-virtual-machine:/test3# ls
file.txt
root@cl-virtual-machine:/test3# rm file.txt
root@cl-virtual-machine:/test3# ls
root@cl-virtual-machine:/test3#

7.mkdir:

创建新目录。

常用选项:

  • -p:创建多级目录
mkdir [options] directory

#示例 创建多层目录 
root@cl-virtual-machine:/test3# ls
root@cl-virtual-machine:/test3# mkdir -p /test3/newdir/mkdir
root@cl-virtual-machine:/test3# ls
newdir
root@cl-virtual-machine:/test3# cd newdir/
root@cl-virtual-machine:/test3/newdir# ls
mkdir
root@cl-virtual-machine:/test3/newdir#

8.touch:

创建空文件

touch file

#示例 创建新文件file
root@cl-virtual-machine:/test3/newdir/mkdir# touch file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls -alh
total 8.0K
drwxr-xr-x 2 root root 4.0K  6月 16 20:01 .
drwxr-xr-x 3 root root 4.0K  6月 16 19:58 ..
-rw-r--r-- 1 root root    0  6月 16 20:01 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir#

9.cat:

连接文件并打印到标准输出设备上。

cat file.tet

#示例 把文件中的hello shell 输出到标准设备上

root@cl-virtual-machine:/test3/newdir/mkdir# cat file.tet
hello shell!

root@cl-virtual-machine:/test3/newdir/mkdir#

10.grep:

在文件中查找所需内容。

常用选项:

  • -i:忽略大小写
  • -r:递归搜索目录中的文件
grep [options] pattern [file...]

#示例 在文件中找shell ,输出shell是红色的,一般此命令常用于定位问题日志中搜关键词

root@cl-virtual-machine:/test3/newdir/mkdir# grep -i "shell" file.tet
hello shell!
root@cl-virtual-machine:/test3/newdir/mkdir#

11.find:

在文件系统中查找文件。

find [path] [expression]

# 示例 在/ 目录下找名为file.tet 文件
root@cl-virtual-machine:/# find ./ -name file.tet
./test3/newdir/mkdir/file.tet
root@cl-virtual-machine:/#

12. chmod

修改文件权限。

chmod [options] mode file

#示例 修改文件的权限 644 ,把文件权限改成 777
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rw-r--r-- 1 root root 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# chmod 777 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rwxrwxrwx 1 root root 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir#

13.chown

修改文件所有者。

chown [options] owner[:group] file


#示例  把文件的所有者chown 改成root
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rw-r--r-- 1 root chown 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# chown root:root file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 4
-rwxrwxrwx 1 root root 14  6月 16 20:04 file.tet
root@cl-virtual-machine:/test3/newdir/mkdir#

14.ps

显示当前进程状态。

常用选项:

  • -e:显示所有进程
  • -f:全格式
ps [options]

#示例 查找ssh相关的进程号
root@cl-virtual-machine:/test3/newdir/mkdir# ps -ef | grep ssh
root         801       1  0 19:26 ?        00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root        6285     801  0 19:29 ?        00:00:17 sshd: root@pts/1
root        6978     801  0 19:30 ?        00:00:00 sshd: root@notty
root        7247    6978  0 19:30 ?        00:00:00 /usr/lib/openssh/sftp-server
root       31672    7244  0 20:25 pts/1    00:00:00 grep --color=auto ssh
root@cl-virtual-machine:/test3/newdir/mkdir#

15.kill

终止进程。

kill [options] pid

#示例 杀死进程号为 6285的进程
root@cl-virtual-machine:/test3/newdir/mkdir# ps -ef | grep ssh
root         801       1  0 19:26 ?        00:00:00 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root        6285     801  0 19:29 ?        00:00:17 sshd: root@pts/1
root        6978     801  0 19:30 ?        00:00:00 sshd: root@notty
root        7247    6978  0 19:30 ?        00:00:00 /usr/lib/openssh/sftp-server
root       31672    7244  0 20:25 pts/1    00:00:00 grep --color=auto ssh
root@cl-virtual-machine:/test3/newdir/mkdir# kill -9 6285
root@cl-virtual-machine:/test3/newdir/mkdir#

16.top

显示系统中各个进程的资源占用情况

top

# 示例 内容太多,只展示了部分内容,大家可以实操下 停止命令: Ctrl + C

top - 20:31:22 up  1:04,  2 users,  load average: 0.04, 0.07, 0.08
Tasks: 286 total,   1 running, 285 sleeping,   0 stopped,   0 zombie
%Cpu(s): 16.7 us, 11.1 sy,  0.0 ni, 72.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1923.3 total,     75.2 free,    925.4 used,    922.7 buff/cache
MiB Swap:   4290.0 total,   3935.2 free,    354.8 used.    810.3 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  33837 root      20   0   16324   4608   3712 R  11.1   0.2   0:00.02 top
      1 root      20   0  166788   9020   6076 S   0.0   0.5   0:06.05 systemd

17.tar

归档文件,经常会用到此命令来归档文件。

常用选项:

  • -cvf:创建归档文件
  • -xvf:解压归档文件
  • -z:处理gzip压缩的文件
tar [options] archive file

#示例 把当前目录下按照如下格式压缩

tar -cvf archive.tar file1 file2
tar -xvf archive.tar
tar -czvf archive.tar.gz file1 file2
tar -xzvf archive.tar.gz

root@cl-virtual-machine:/test3/newdir/mkdir# tar -czvf dst.tar.gz file.tet log.log
file.tet
log.log
root@cl-virtual-machine:/test3/newdir/mkdir# ls -l
total 8
-rw-r--r-- 1 root root 156  6月 16 20:36 dst.tar.gz
-rw-r--r-- 1 root root  14  6月 16 20:04 file.tet
-rw-r--r-- 1 root root   0  6月 16 20:34 log.log
root@cl-virtual-machine:/test3/newdir/mkdir#

18.gzip

压缩文件。

gzip file

#示例 压缩文件
root@cl-virtual-machine:/test3/newdir/mkdir# gzip file.tet
root@cl-virtual-machine:/test3/newdir/mkdir# ls
dst.tar.gz  file.tet.gz  log.log
root@cl-virtual-machine:/test3/newdir/mkdir#

19.unzip

解压文件。

unzip file.zip

20.man命令:

要了解更多详细信息,可以使用man命令查看每个命令的手册页。

# 示例 可以用于查询标准库函数以及常用命令使用方式,停止命令: q

# ls 命令
man ls

# 标准库内存申请函数malloc的使用
man malloc

标签:常用,shell,cl,test3,virtual,machine,file,Linux,root
From: https://blog.csdn.net/cl122763974/article/details/139724681

相关文章

  • Linux 文件的权限信息解读 chmod修改权限 数字序号表示权限
    ls-l#列出当前文件显示详细信息drwxr-xr-x.2dpctest6Jun1507:45test.txt共分为三部分drwxr-xr-x.:表示文件和文件夹的权限信息dpc:文件,文件夹所属的用户test:文件和文件夹所属的用户组drwxr-xr-x解读d表示为文件夹rwx表示dpc的权限r-x所属用户组......
  • Linux 内核定时器实验
    Linux内核定时器实验内核时间管理简介Linux内核中有大量的函数需要时间管理,比如周期性的调度程序、延时程序、对于我们驱动编写者来说最常用的定时器。硬件定时器提供时钟源,时钟源的频率可以设置,设置好以后就周期性的产生定时中断,系统使用定时中断来计时。中断周期性产生的频......
  • Linux的Terminal调用不出来,一直转圈圈
    后来发现是环境变量的问题[oracle@ora19rac01~]$cat.bash_profile#.bash_profile#Getthealiasesandfunctionsif[-f~/.bashrc];then.~/.bashrcfi#Userspecificenvironmentandstartupprograms#aliassqlplus="rlwrapsqlplus"#aliasrman......
  • 云计算【第一阶段(14)】Linux的目录和结构
    一、Liunx目录结构1.1、linux目录结构linux目录结构是树形目录结构根目录(树根)所有分区,目录,文件等的位置起点整个树形目录结构中,使用独立的一个"/",表示1.2、常见的子目录必须知道目录路径目录作用/root系统管理员root的宿主目录/home普通用户的宿主目录/boot系统内核、......
  • linux的权限管理
    linux的权限管理1.权限介绍和示例root用户权限最高,所以一般对它不做什么权限设置。其他用户就要设定权限并且遵守权限了。文件权限:#文件属性[root@localhost~]#touch1.txt[root@localhost~]#ls-l总用量4-rw-r--r--.1rootroot06月1519:091.txt-r......
  • MySql 常用面试题 (一)
    MySQL面试题及答案整理1.MySQL中有哪几种锁?MySQL中有多种锁类型,它们可以根据不同的分类标准进行划分。以下是一些主要的锁类型:按粒度分:表锁:每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。常用于整表数据迁移的场景。行锁:对......
  • React+TS前台项目实战(十)-- 全局常用组件CopyText封装
    文章目录前言CopyText组件1.功能分析2.代码+详细注释3.使用方式4.效果展示总结前言今天这篇主要讲项目常用复制文本组件封装,这个组件是一个用于拷贝文本的React组件,它提供了拷贝,国际化和消息提示的功能CopyText组件1.功能分析(1)将content作为其内容,表......
  • 【3】Linux常见命令
    常用的操作系统有哪些:【1】Windows操作系统:》不同的版本:WindowsXP,Windows7,Windows10【2】Linux操作系统:》不同的版本:centos6.5,redhat红帽,Ubuntu乌班图centos用的比较多,但版本比较老,服务器首选,内核比较稳定Ubuntu用的也比较多,版本比较新【3】Unix操作系统【4】Macos苹果......
  • Linux测试点对点连接速度工具
    iPerfiperf是一个网络性能测试工具,它可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。Debian系的发行版可以使用如下命令安装iPerf......
  • 在Linux中,如何修改IP地址、网关和主机名?
    在Linux中,修改IP地址、网关和主机名可以通过不同的方法实现,具体取决于你使用的是哪种网络管理工具和主机名管理方式。下面我将分别介绍静态配置和使用NetworkManager工具的两种情况。1.修改IP地址、网关(静态配置)修改IP地址和子网掩码:通常需要编辑网络接口的配置文件。对于基......