草庐IT

【Linux入门篇】操作相关命令

大虾好吃吗 2023-04-18 原文

目录

🍀系统帮助命令

🍀系统关机命令

🍀系统重启命令

🍀系统服务管理命令

🍀系统目录相关命令

🍁mkdir

🍁cd

🍁tree

🍁rm

🍁pwd

🍁ls

🍀系统文件相关命令

🍁touch

🍁echo

🍁cat

🍁more、less、head、tail

🍁cp

🍁mv

🍁vim

🍀系统压缩相关命令

🍁dd

🍁zip

🍁tar

🍀系统别名相关命令

🍀系统搜索相关命令

🍀系统排序相关命令

🍀系统去重相关命令


🦐:新开专栏Linux入门到精通持续更新

        在Linux中有一个理念就是一切皆文件,对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心。

参考:参考文档 | Linux 命令大全 

系统帮助命令

man 命令         man手册
help 命令         查看内部命令
命令 --help       查看外部命令
type 命令         判断内部/外部命令

系统关机命令

shutdown -h now         立即关机(等于poweroff、init 0) 
shutdown -h 10            延迟10分钟关机

系统重启命令

shutdown -r now         立即重启(等于reset、init 6)

系统服务管理命令

systemctl start sshd           开启服务
systemctl stop  sshd          关闭服务
systemctl restart sshd        重启服务
systemctl status sshd        查看服务状态
systemctl enable sshd       设置服务开机自启
systemctl disable sshd      设置服务开机禁用

系统目录相关命令

mkdir

mkdir /data /backup             创建目录
mkdir -p /a/b/c/d                  多级创建
mkdir data{01..10}               创建目录序列
mkdir test{01..10..2}            创建跳序序列
mkdir {conf,log,data}           创建无序目录

cd

cd  /data               切换目录
cd  ..                    返回上层目录
cd  ~                   切换到宿主目录
cd  -                     回到上次cd的路径

tree

tree  /data             查看目录树

rm

rmdir data01                删除空目录
rm -r /a                        删除非空目录,慎用,-f强制

pwd

pwd                     查看当前目录绝对路径

ls

ls                      列出目录内数据信息
ls -l                   长格式列出目录内数据,简写ll
ls -d                   查看目录本身
ll -t                     查看最新编辑文件信息,按时间排序(r反向)
ll -S                    查看文件信息,按大小排序(r反向)
du -sh                  查看目录大小

系统文件相关命令

touch

touch /data/file01                    创建空文件
touch /data/file{1..100}            创建file1到file100(100个文件)

echo

echo "hello"                                        返回hello
echo "hehe" > /data/file01                  覆盖文件内容,单行
echo "haha" >> /data/file01                 追加文件内容,单行

cat

cat                                                        查看文件内容
cat >> /data/file02 << EOF          编辑多行内容到文件
123
456
789
EOF
> /data/file02                              清空file02文件

more、less、head、tail

more                        分页显示,不能回翻
less                         分页显示,可以回翻
head                        看文件前几行,默认10行
tail                           看文件后几行,默认10行(-f 动态追踪查看)

cp

cp /data/file01 /backup                 备份文件
cp -r /data   /backup                     备份目录
cp -rp /data/file01 /backup           保留文件属性复制(使用该命令既可以复制文件也可以复制目录并且保留权限)

mv

mv /data/file02 /backup     移动剪切
mv /data/file01 /data/file  改名(把data目录下的file01文件在data目录改名为file)

vim

vim /data/file01            Linux编辑器
a i o                               切换到输入模式(a:光标后一位输入;i:当前光标输入;o:下一行输入)
Esc                           退回到命令模式
:                                   命令到末行模式

:wq                                 保存修改,等同于:x 或 命令模式下ZZ
:q!                                  不保存退出
:w /tmp/file01              另存为
:r /etc/passwd              把其他文件读入到当前

home键或“^”或数字“0”          跳转到行首
End键或“$”                   跳转到行尾
G                                 跳转到末行
1G或gg                       跳转到首行

:set nu                       显示行号
:set nonu                   取消行号

x或Del键                     删除光标处单字符
dd或10dd                    删除光标所在行或多行

yy或10yy                    复制一行或多行
p或P                          粘贴光标下一行或上一行

/hehe                        命令模式查找匹配字符串,从上到下
?hehe                       命令模式查找匹配字符串,从下到上

:s /hehe/haha                 查找本行中第一个字符串替换
:s /hehe/haha/g             查找本行中所有字符串并替换
:% s/hehe/haha/g            查找全文所有字符串并替换
:3,5 s/hehe/haha/g          查找第3到5行所有字符串并替换

系统压缩相关命令

dd

dd if=/dev/zero of=/data/dwj.txt bs=100M count=10   创建1000M大小文件
    从哪拿         拿到哪             大小      次数

zip

gzip /data/dwj.txt          gzip压缩
gunzip /data/dwj.gz         gunzip解压(或gzip -d)
bzip2 /data/dwj.txt         bzip2压缩
bunzip2 /data/dwj.bz2       bzip2解压(或bzip2 -d)

tar

tar zcf /backup/etc-boot.tar.gz  /etc  /boot              归档gzip压缩一个或多个目录
tar xf /backup/etc-boot.tar.gz                                  解压到当前(-C 解压到其他位置)
tar jcf /backup/etc-boot.tar.bz2  /etc  /boot             归档bzip2压缩一个或多个目录
tar xf /backup/etc-boot.tar.bz2                                 解压到当前(-C 解压到其他位置)

例:备份/etc /boot 两个目录到/backup,并标记时间戳

[root@localhost ~]# tar zcf /backup/etc_boot_$(date +%F) /etc /boot

系统别名相关命令

alias c=clear               #设置别名c表示清屏{alias 别名 = 命令}
alias                           #查看别名
unalias c                    #取消别名

vim /root/.bashrc           #永久配置
 . /root/.bashrc              #使配置文件生效

系统搜索相关命令

find /etc/ -name network        通过文件名搜索
find /etc -iname networkmanager 忽略大小写搜索 
find /etc/ -name *.conf         * 通配任意个字符   
find /etc/ -name ?????.conf     ? 通配任意一个字符

find /etc -type f               通过文件类型搜索(d目录 f文件 s套接字 b块设备 l链接)

find . -type f -atime -7        搜索最近七天内被访问过的所有文件
find . -type f -atime 7         搜索恰好在七天前被访问过的所有文件
find . -type f -atime +7        搜索超过七天内被访问过的所有文件
    atime:  访问时间
    mtime:  文件的内容发生变化的时间 
    ctime:  文件的属性发生变化的时间 
    -amin n  以分钟为单位
    -cmin n
    -mmin n
注:stat 查看文件访问更改等属性;touch -a 修改访问属性  -m 修改修改属性
    
find / -user lisi -type f       搜索属于lisi用户的文件
find / -group cwb -type f       搜索属于cwb组的文件
find / -type f -nouser          搜索系统中的孤儿文件(文件属主用户已被删除)
find / ! -user root -type f     搜索不属于root的文件

find / -perm -g=w -type f       查找/目录下,小组权限为可写的文件
find / -perm -222 -type f       查找目录下,用户可写 and 组可写 and 其他人可写的文件
find / -perm /222 -type f       查找目录下,用户可写 or 组可写 or 其他人可写的文件
注:u用户 g组 o其他人;r读 w写 x执行;r=4 w=2 x=1

find / -type f -size -3M        查找目录下,文件大小小于3M大小的文件
find / -type f -size 3M         查找目录下,文件大小等于3M大小的文件
find / -type f -size +3M        查找目录下,文件大小大于3M大小的文件

find /etc -name *.conf -type f -exec cp {} /backup \;   查找并备份,无提示
find /etc -name *.conf -type f -ok cp {} /backup \;     查找并备份,有提示
find /data -type f -size 0 -exec rm -rf {} \;           查找/data目录下空文件,并删除

系统排序相关命令

创建sort.txt文件,通过下面命令排序

cat >> sort.txt << EOF
b:3
c:2
a:4
e:5
d:1
f:11
EOF

cat sort.txt | sort                     对输出内容直接排序,默认按照每行的第一个字符进行排序
cat sort.txt | sort -r                  对输出内容进行反向排序
cat sort.txt | sort -t ":" -k 2         使用“:”做分隔符,对第2个字段进行排序
cat sort.txt | sort -t ":" -k 2 -n      使用“:”做分隔符,对第2个字段进行排序,按照数字大小排序

系统去重相关命令

创建num.txt文件,通过下面命令去重

cat >> num.txt <<EOF
111
222
333
444
555
222
333
222
EOF


sort num.txt | uniq             使用uniq时,一般先排序,再去重
sort num.txt | uniq -c          去重并显示重复次数

案例1:查询Nginx访问日志客户端IP,按访问pv数排序,列出前十

yum -y install nginx
systemctl start nginx
#启动nginx网站服务后,通过浏览器访问IP记录成功日志
cat /var/log/nginx/access.log | awk '{print $1}' | sort -r | uniq -c | head -10

案例2:查出系统进程打开文件数排行前3的进程号

lsof -Ki |awk '{print $2}' | sort |uniq -c | sort -n -r |head -3

有关【Linux入门篇】操作相关命令的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  3. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  4. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  5. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  6. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  7. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  8. ruby - 如何使用 Selenium Webdriver 根据 div 的内容执行操作? - 2

    我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption

  9. ruby-on-rails - 如何处理 Grape 中特定操作的过滤器之前? - 2

    我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?

  10. ruby-on-rails - 在 Ruby on Rails 中发送响应之前如何等待多个异步操作完成? - 2

    在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.

随机推荐