Linux实用命令练习

目录

一、常用命令

二、系统命令

三、用户和组

四、权限

五、文件相关命令

六、查找

七、正则表达式

八、输入输出重定向

九、进程控制

十、其他命令

1、远程文件复制:scp

2、locate查找

3、which命令

4、设置或显示环境变量:export

5、修改主机名&ip地址

十一、yum安装命令

十二、rpm

十三、Linux的基本配置

十四、关闭防火墙

1、暂时关闭防火墙

2、如何查看自己的防火墙属于 iptables 还是 firewalld

3、永久关闭防火墙(通过命令)


一、常用命令

1、在/hadoop目录下创建src和WebRoot两个文件夹 

        分别创建:mkdir /hadoop/src  mkdir /hadoop/WebRoot 

        同时创建:mkdir /hadoop/{src,WebRoot}

2、进入到/hadoop目录,在该目录下创建.classpath和README文件 

        分别创建:touch .classpath  touch README 

        同时创建:touch {.classpath,README}

3、在/hadoop目录下面创建一个test.txt文件,同时写入内容"this is test" 

        echo "this is test" > test.txt

4、向README文件追加写入"please read me first" 

        echo "please read me first" >> README

5、将test.txt的内容追加到README文件中 

        cat test.txt >> README

6、进入到/hadoop-bak目录,将test.txt移动到src目录下,并修改文件名为Student.java 

        mv test.txt src/Student.java

7、在src目录下创建一个struts.xml

> struts.xml

8、返回到/hadoop目录,查看一下README文件有多单词,多少个少行 

        wc -w README 

        wc -l README

9、返回到根目录,将/hadoop目录先打包,再用gzip压缩 

        分步完成:tar -cvf hadoop.tar hadoop  gzip hadoop.tar 

        一步完成:tar -zcvf hadoop.tar.gz hadoop 

10、将其解压缩,再取消打包 

        分步完成:gzip -d hadoop.tar.gz 或 gunzip hadoop.tar.gz 

        一步完成:tar -zxvf hadoop.tar.gz

二、系统命令

1、查看主机名
        hostname
2、查看系统信息
        uname -a
        uname -r
3、日期
        date
        date +%Y-%m-%d
        date +%T
        date +%Y-%m-%d" "%T
4、日历
        cal 2012
5、查看文件信息
        file filename
6、查看文件大小
        du -h
        du -ah
7、查看分区
        df -h
8、关机
        shutdown -h now /init 0
        shutdown -r now /reboot

三、用户和组

1、添加一个tom用户,设置它属于users组,并添加注释信息
        分步完成:useradd tom
                          usermod -g users tom
                          usermod -c "hr tom" tom
        一步完成:useradd -g users -c "hr tom" tom

2、添加一个jerry用户并设置密码
        useradd jerry
        passwd jerry

四、权限

1、创建c.txt文件所有人都可以写和执行
        chmod 666 c.txt

2、将/hadoop目录下的所有文件与子目录的拥有者设为root,用户拥有组为users
        chown -R root:users /hadoop

3、将当前目录下的所有文件与子目录的用户皆设为hadoop,组设为users
        chown -R hadoop:users *

五、文件相关命令

1、移动
        mv a.txt /ect/
      改名
        mv b.txt a.txt
      移动并改名
        mv a.txt ../b.txt

2、拷贝并改名
        cp a.txt /etc/b.txt

3、将一个文件的内容复制到里另一个文件中
        cat a.txt > b.txt
     追加内容
        cat a.txt >> b.txt

4、将所有的java语言程式拷贝至finished子目录中:
        cp *.java finished

六、查找

1.查找可执行的命令:
        which ls

2.查找可执行的命令和帮助的位置:
        whereis ls

3.查找文件(需要更新库:updatedb)
        locate hadoop.txt

4.从某个文件夹开始查找
        find  -name "hadooop*"
        find  -name "hadooop*" -ls

5.查找并删除
        find / -name "hadooop*" -ok rm {} \;
        find / -name "hadooop*" -exec rm {} \;

6.查找用户为hadoop的文件
        find /usr -user hadoop -ls

7.查找用户为hadoop并且(-a)拥有组为root的文件
        find /usr -user hadoop -a -group root -ls

8.查找用户为hadoop或者(-o)拥有组为root并且是文件夹类型的文件
        find /usr -user hadoop -o -group root -a -type d

9.查找权限为777的文件
        find / -perm -777 -type d -ls

10.显示命令历史
        history

11.grep
        grep hadoop /etc/password

七、打包与压缩

1.gzip压缩
        gzip a.txt

2.解压
        gunzip a.txt.gz
        gzip -d a.txt.gz

3.bzip2压缩
        bzip2 a

4.解压
        bunzip2 a.bz2
        bzip2 -d a.bz2

5.将当前目录的文件打包
        tar -cvf bak.tar .
        将/etc/password追加文件到bak.tar中(r)
t        ar -rvf bak.tar /etc/password

6.解压
        tar -xvf bak.tar

7.打包并压缩gzip
        tar -zcvf a.tar.gz

8.解压缩
        tar -zxvf a.tar.gz
        解压到/usr/下
        tar -zxvf a.tar.gz -C /usr

9.查看压缩包内容
        tar -ztvf a.tar.gz

        zip/unzip

10.打包并压缩成bz2
        tar -jcvf a.tar.bz2

11.解压bz2
        tar -jxvf a.tar.bz2

七、正则表达式

规则:
.  : 任意一个字符
a* : 任意多个a(零个或多个a)
a? : 零个或一个a
a+ : 一个或多个a
.* : 任意多个任意字符
\. : 转义.
\<h.*p\> :以h开头,p结尾的一个单词
o\{2\} : o重复两次

grep '^i.\{18\}n$' /usr/share/dict/words

查找不是以#开头的行
grep -v '^#' a.txt | grep -v '^$'

以h或r开头的
grep '^[hr]' /etc/passwd

不是以h和r开头的
grep '^[^hr]' /etc/passwd

不是以h到r开头的
grep '^[^h-r]' /etc/passwd

八、输入输出重定向

1.新建一个文件
        touch a.txt
        > b.txt

2.错误重定向:2>
        find /etc -name zhaoxing.txt 2> error.txt

3.将正确或错误的信息都输入到log.txt中
        find /etc -name passwd > /tmp/log.txt 2>&1
        find /etc -name passwd &> /tmp/log.txt

4.追加>>

5.将小写转为大写(输入重定向)
        tr "a-z" "A-Z" < /etc/passwd

6.自动创建文件
        cat > log.txt << EXIT
        > ccc
        > ddd
        > EXI

7.查看/etc下的文件有多少个?
        ls -l /etc/ | grep '^d' | wc -l

8.查看/etc下的文件有多少个,并将文件详情输入到result.txt中
        ls -l /etc/ | grep '^d' | tee result.txt | wc -l

九、进程控制

1.查看用户最近登录情况
        last
        lastlog

2.查看硬盘使用情况
        df

3.查看文件大小
        du

4.查看内存使用情况
        free

5.查看文件系统
        /proc

6.查看日志
        ls /var/log/

7.查看系统报错日志
        tail /var/log/messages

8.查看进程
        top

9.结束进程
        kill 1234
        kill -9 4333

十、其他命令

1、远程文件复制:scp

scp 命令用于 Linux 之间复制文件和目录,scp是 secure copy 的缩写是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

复制文件
scp local_file remote_username@remote_ip:remote_folder 
或者 
scp local_file remote_username@remote_ip:remote_file 
或者 
scp local_file remote_ip:remote_folder 
或者 
scp local_file remote_ip:remote_file复制文件夹
scp -r local_folder remote_username@remote_ip:remote_folder 
或者 
scp -r local_folder remote_ip:remote_folder 

实例:

scp /home/space/music/1.mp3 root@xiaoxiaoming.xyz:/home/root/others/music 
scp /home/space/music/1.mp3 root@xiaoxiaoming.xyz:/home/root/others/music/001.mp3 
scp /home/space/music/1.mp3 xiaoxiaoming.xyz:/home/root/others/music 
scp /home/space/music/1.mp3 xiaoxiaoming.xyz:/home/root/others/music/001.mp3scp -r /home/space/music/ root@xiaoxiaoming.xyz:/home/root/others/ 
scp -r /home/space/music/ xiaoxiaoming.xyz:/home/root/others/ 

2、locate查找

locate命令会去保存文档和目录名称的数据库内,查找文件或目录。

一般情况我们只需要输入locate your_file_name 即可查找指定文件。

参数:

    -d或–database= 配置locate指令使用的数据库。locate指令预设的数据库位于/var/lib/mlocate目录里,文档名为mlocate.db。
查找passwd文件,输入以下命令:

locate passwd

locate与find的区别: find 是去硬盘找,locate 只在/var/lib/slocate资料库中找。

locate的速度比find快,它并不是真的查找,而是查数据库,一般文件数据库在/var/lib/mlocate/mlocate.db中,所以locate的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
 

updatedb

3、which命令

which查找$PATH中设置命令及安装文件目录所在位置

python@ubuntu:/var/lib/mlocate$ which locate
/usr/bin/locate

4、设置或显示环境变量:export

在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。

export [-fnp][变量名称]=[变量设置值]
# export MYENV=7 //定义环境变量并赋值
# export -p //列出当前的环境变量

5、修改主机名&ip地址

显示主机名:hostname

临时修改:hostname xxx

永久修改:

                对于Ubuntu 系统:vim /etc/hostname

                对于centos系统:vim /etc/sysconfig/network

                在此配置文件中添加一条HOSTNAME=node1

                针对centos7系统,可以使用如下命令

                        hostnamectl set-hostname xxx

                一般需要重开shell甚至重启操作系统才能生效。

十一、yum安装命令

        yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

        基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

        yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
更新国内yum源,网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

首先备份/etc/yum.repos.d/CentOS-Base.repo

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本 repo 文件, 放入 /etc/yum.repos.d/

    CentOS5 :http://mirrors.163.com/.help/CentOS5-Base-163.repo
    CentOS6 :http://mirrors.163.com/.help/CentOS6-Base-163.repo
    CentOS7 :http://mirrors.163.com/.help/CentOS7-Base-163.repo

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo

运行以下命令生成缓存

yum clean all
yum makecache

实例:

    列出所有可更新的软件清单命令:yum check-update
    更新所有软件命令:yum update
    仅安装指定的软件命令:yum install <package_name>
    仅更新指定的软件命令:yum update <package_name>
    显示包信息:yum info <package_name>
    列出所有可安裝的软件清单命令:yum list
    删除软件包命令:yum remove <package_name>
    查找软件包 命令:yum search <keyword>
    清除缓存命令:
        yum clean packages: 清除缓存目录下的软件包
        yum clean headers: 清除缓存目录下的 headers
        yum clean oldheaders: 清除缓存目录下旧的 headers
        yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

十二、rpm

RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

常见用法:

    rpm -ivh <rpm包名> 安装软件
    rpm -e <rpm包名> 卸载安装
    rpm -qi <rpm包名> 显示软件安装信息
    rpm -qa | grep xxx 查询软件是否安装(包括相关依赖)
    rpm -Uvh <rpm包名> 升级一个rpm

具体参数详解:
-i, --install 安装包
-v, --verbose 列出更多详细信息,安装进度
-h, --hash 安装时列出hash标记 (与 -v连用)
-e, --erase 卸载安装包
-U, --upgrade=+ 升级包
–replacepkge 无论软件包是否已被安装,都强行安装软件包
–test 安装测试,并不实际安装
–nodeps 忽略软件包的依赖关系强行安装
–force 忽略软件包及文件的冲突
-q,–query:
-a, --all 查询/校验所有的安装包
-p, --package 查询/校验一个安装文件
-l, --list 列出安装文件
-d, --docfiles 列出所有文档文件
-f, --file 查询/校验安装包中所包含的文件

# rpm -hvi dejagnu-1.4.2-10.noarch.rpm 
警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
准备...           
########################################### [100%]
# rpm -qi dejagnu-1.4.2-10.noarch.rpm【第1次更新 教程、类似命令关联】

十三、Linux的基本配置

1.修改主机名

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1

2.修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.100.101
NETMASK=255.255.255.0service network restart

3.修改ip地址和主机名的映射关系

vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.101 hadoop1

关闭iptables并设置其开机启动/不启动

service iptables stop
chkconfig iptables on
chkconfig iptables off

十四、关闭防火墙

1、暂时关闭防火墙

禁⽤防⽕墙 :

systemctl stop firewalld

启动/关闭防火墙:
查看firewalld状态:

systemctl status firewalld    #查看防火墙状态

显示running,既防火墙开启了

2、如何查看自己的防火墙属于 iptables 还是 firewalld

sudo firewall-cmd --state 

iptables防火墙,则会出现内容:

iptables: Firewall is not running.
iptables: Firewall is running.            //如果启动了会出现这个

firewalld 防火墙,则会出现内容:

[root@bedo19c /]# sudo firewall-cmd --state 
running

3、永久关闭防火墙(通过命令)

1、对于 iptables 防火墙:

sudo service iptables stop
sudo chkconfig iptables off

2、对于 firewalld 防火墙:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

3、永久关闭防火墙(通过配置文件):

1、对于 iptables 防火墙:
然后将文件中的所有规则都删除,保存并退出文件。这将完全禁用 iptables 防火墙。

sudo vi /etc/sysconfig/iptables

2、对于 firewalld 防火墙:

在该文件中找到 Enabled 字段,并将其值从 yes 修改为 no。然后保存并退出文件。这将完全禁用 firewalld 防火墙

sudo vi /etc/firewalld/firewalld.conf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/365134.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【.NET全栈】第16章 Web开发

文章目录 前言16.1 HTML概述16.1.1 HTML的基本概念16.1.2 HTML语言的基本元素16.1.3 格式设置16.1.4 超级链接16.1.5 图像16.1.6 表格16.1.7 框架16.1.8 表单 16.2 ASP.NET Web Forms的组织16.2.1 认识ASP.NET16.2.2 Web Forms的组织 16.3 Web服务器组件16.3.1 使用Label和Text…

[AIGC] 深入了解标准与异常重定向输出

在操作系统和编程环境下&#xff0c;有时我们需要更加精细地控制程序的输入或输出过程&#xff0c;这就涉及到了标准输入输出流&#xff0c;以及重定向的概念。接下来&#xff0c;我们将详细介绍标准输出、标准错误输出&#xff0c;以及如何进行输出重定向。 文章目录 1. 标准输…

网线直连电脑可以上网,网线连tplink路由器上不了网

家里wifi网络连不上好几天了&#xff0c;用网线直连电脑可以上网&#xff0c;但网线连tplink路由器wan口上不了网&#xff0c;无Internet连接&#xff0c;网线连lan口可以电脑上网&#xff0c;手机上不了。 后来发现网线的主路由用的192.168.0.1&#xff0c;我的路由器wan口自…

将某列缺失分隔符的文字读入 Excel

有个逗号分隔的 txt&#xff0c;共 10 列&#xff0c;第 3 列有时候缺少分隔符&#xff0c;导致该列缺失&#xff0c;数据不齐只剩 9 列。比如最后两行&#xff1a; 01-0104-0133,MAYO, RONIE #2,202403,2024-03-21 22:51:43.000,1449.49,0.00,0.00,08,6CC6BDAC7E45 17-1782-02…

百强韧劲,进击新局 2023年度中国医药工业百强系列榜单发布

2024年&#xff0c;经济工作坚持稳中求进、以进促稳、先立后破等工作要求。医药健康行业以不懈进取的“韧劲”&#xff0c;立身破局&#xff0c;迎变启新。通过创新和迭代应对不确定性&#xff0c;进化韧性力量&#xff0c;坚持高质量发展&#xff0c;把握新时代经济和社会给予…

ubuntu 编译交叉环境arm 版本的openssl库

一&#xff0c;下载源码 [ Old Releases ] - /source/old/index.html 二&#xff0c;设置交叉编译环境 我的交叉环境是RV1126开发板&#xff0c;/home/rpdzkj/development/cross-compile-tools/rv1126/ 对应的是我电脑里的RV1126开发板的交叉环境下的gc g等路径存放 设置环境…

【C++深度探索】继承机制详解(一)

hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff1a;大耳朵土土垚的博客 &#x1…

43.三倍游戏

上海市计算机学会竞赛平台 | YACSYACS 是由上海市计算机学会于2019年发起的活动,旨在激发青少年对学习人工智能与算法设计的热情与兴趣,提升青少年科学素养,引导青少年投身创新发现和科研实践活动。https://www.iai.sh.cn/problem/390 题目描述 三倍游戏是一种单人游戏。玩…

忍法:声音克隆之术

前言&#xff1a; 最近因为一直在给肚子里面的宝宝做故事胎教&#xff0c;每天&#xff08;其实是看自己心情抽空讲下故事&#xff09;都要给宝宝讲故事&#xff0c;心想反正宝宝也看不见我&#xff0c;只听我的声音&#xff0c;干脆偷个懒&#xff0c;克隆自己的声音&#xf…

【SpringBoot】SpringBoot应用Yaml 解析冒号(:)字符串踩坑排查记录

文章目录 一、现象二、原因排查三、怎么办 一、现象 某次在配置中心Nacos上配置了一个字符串&#xff0c;采用YAML格式&#xff0c;如下&#xff1a; id: 114:1代码中采用的是Value注解的形式获取配置&#xff1a; Value("${id}")代码中预期获取的是字符串&#x…

微服务中的Docker详细学习

Docker的个人理解 首先我对于Docker的理解分为两部分&#xff0c;第一是对名字上的理解&#xff0c;我们都知道docker的英文翻译是“码头工人”的意思&#xff0c;所以我们也可以理解为docker是码头上的一个个集装箱的使用。这也与他的图标很相似。其次我是对于其功能上的理解&…

ASP.Net.WebAPI和工具PostMan

1.WebAPI概述 1.1 WebAPI WebAPI 是一种传统的方式&#xff0c;用于构建和暴露 RESTUI风格的Web服务。它提供了丰富的功能和灵活性&#xff0c;可以处理各种HTTP请求&#xff0c;并支持各种数据格式&#xff0c;如JSON、XML等。 WebAPI使用控制器(Controllers)和动作方法(Ac…

力扣每日一题 6/30 记忆化搜索/动态规划

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 494.目标和【中等】 题目&#xff1a; 给你一个非负整数数组 nums 和一个…

INS-GPS组合导航——卡尔曼滤波

系列文章目录 《SAR笔记-卫星轨道建模》 《SAR笔记-卫星轨迹&#xff08;三维建模&#xff09;》 《常用坐标系》 文章目录 前言 一、经典卡尔曼滤波 二、扩展卡尔曼滤波 三、无迹卡尔曼滤波 总结 前言 SAR成像仪器搭载于运动平台&#xff0c;平台的自定位误差将影响SAR…

Redis缓存问题二、缓存雪崩

缓存雪崩 缓存雪崩&#xff1a;是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 缓存雪崩的解决方案&#xff1a; 给不同的Key的TTL添加随机值利用Redis集群提高服务的可用性给缓存业务添加降级限流策略…

数据库物理结构设计-定义数据库模式结构(概念模式、用户外模式、内模式)、定义数据库、物理结构设计策略

一、引言 如何基于具体的DBMS产品&#xff0c;为数据库逻辑结构设计的结果&#xff0c;即关系数据库模式&#xff0c;制定适合应用要求的物理结构 1、在设计数据库物理结构前&#xff0c;数据库设计人员首先 要充分了解所用的DBMS产品的功能、性能和特点&#xff0c;包括提供…

DarkGPT:基于GPT-4-200k设计的人工智能OSINT助手

关于DarkGPT DarkGPT是一款功能强大的人工智能安全助手&#xff0c;该工具基于GPT-4-200k设计并实现其功能&#xff0c;可以帮助广大研究人员针对泄露数据库进行安全分析和数据查询相关的OSINT操作。 工具要求 openai1.13.3 requests python-dotenv pydantic1.10.12 工具安装 …

word2016中新建页面显示出来的页面没有页眉页脚,只显示正文部分。解决办法

问题描述&#xff1a;word2016中新建页面显示出来的页面没有页眉页脚&#xff0c;只显示正文部分。设置了页边距也不管用。 如图1 图1 解决&#xff1a; 点击“视图”——“多页”——“单页”&#xff0c;即可。如图2操作 图2 结果展示&#xff1a;如图3 图3

操作系统精选题(三)(简答题、概念题)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;操作系统 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 简答题 一、对 CPU、内存、外设并…

红黑树插入删除流程(流程图)

红黑树插入删除流程&#xff08;流程图&#xff09; 红黑树性质 左根右(二叉树&#xff09;根叶黑&#xff08;根节点是黑色的&#xff09;不红红&#xff08;不存在相邻两个红色节点&#xff09;黑路同&#xff08;对于每个节点&#xff0c;从该节点出发到任一空叶节点所经过…