Linux基础命令

Linux简介

copycopy1.免费开源,支持多用户,多任务,多线程,多CPU
2.性能稳定的多用户网络操作系统
3.文件夹也是文件

Linux基础命令

常用命令

copycopypwd——以绝对路径的形式显示当前位置
copycopyls——列出指定目录下的内容
ls -l:列出每个子文件的属性
ls -a:显示所有内容
ls -l -a:显示所有内容的属性
ls -lhS:显示当前目录下的所有内容,并降序排序
ls -lhS /etc:显示指定目录下的所有内容,并降序排序
copycopycd——切换空间
cd 返回到根目录
cd ..:上一级目录
cd /etc:切换到/etc下

文件操作命令

创建文件

copycopytouch filename
touch file file2

创建目录

copycopymkdir [-p] dirname
mkdir /etc/shx

删除文件或目录

copycopyrm [-rf] filename
rm file1
rm -r dir1//删除目录必须加r
rm -f file1//强制删除
rm -rf ./*   //删除当前目录下所有非隐藏文件

移动文件

copycopymv [OPTION]  SOURCE  DIRECTORY
mv file1 file2 dir1//将file1,file2移动到dir1
mv file1 dir1/file2//将file1移动到dir1并改名为file2

拷贝文件或目录

copycopycp [-r] source  directory
cp file1 dir1  //拷贝file1到dir1
cp file1 dir1/file2 //复制file1的内容到dir1并更名为file1
cp -r dir1 dir2 //拷贝目录

创建链接文件

copycopyln [-s] filename newfilename
copycopy软链接文件:文件和目录都可以有软链接
ln -s filename newfilename
copycopy硬链接文件:文件有硬链接,目录不能有硬链接
ln filename newfilename

展示一行文件信息

copycopyecho 字符串|环境变量
echo hello world
echo $HOME
echo "hello Hadoop world!" > a.txt //将字符写入文件,如文件不存在则会创建文件
echo "hello Python world!" > a.txt //覆盖
echo "hello Java world!" >> a.txt //追加字符

文件查看命令

copycopy//查看整个文件内容
cat [-An] filename
-A 显示隐藏字符
-n 显示行号

//分页查看文件内容
more filename

//查看文件头部信息
head [-number] filename //默认看十行

//查看尾部信息
tail [-number] filename //默认看十行

文件查找指令

copycopyfind 搜索位置 条件
find /etc -name 'ha*' //查找名字ha开头的文件或目录
find /etc -name 'Hadoop' //查找名字为Hadoop的文件
find /etc -name 'ha?' //查找名字为ha开头,并长度为3的文件
find /etc -type d/l/f   //查找/etc目录下的所有目录/软链接/普通文件

grep [-cniv] '要找的字符串' filename
grep -c hello ./a.txt //hello所在行的数量
grep -n hello ./a.txt //hello所在行信息he行号
grep -i hello ./a.txt //忽略大小写查看hello所在行信息
grep -v hello ./a.txt //查看除了hello所在行的其他行信息

文件解压缩

gzip/gunzip

copycopy作用:将每一个文件进行压缩,一个文件对应一个压缩文件
gzip filename
//只能压缩文件
//源文件消失
//文件后缀.gz

gzip -d filename //解压缩

zip需要安装

copycopy作用:将多个文件或者目录压缩到一个压缩文件中
zip [-r] compressfilename.zip file1 file2
//保留源文件
//需自定义压缩文件名
//压缩目录,必须添加 -r 参数

tar

copycopy作用:打包指令,将多个文件打成一个包
tar -[cxvf] tarfilename.tar 路径
//-c:打包
//-x:拆包
//-v:显示压缩过程
//-f:指定新文件名,必须和新文件名挨着
tar -xzvf filename.tar 路径  //解压缩拆包

切换用户账户

copycopysu [用户名]
su root

SCP指令

copycopyscp [-r] filename 用户名@机器IP:路径
scp a.txt root@master:~/

Linux文件属性解析

copycopy[root@master ~]#  ls -l 
-rw-r--r--  1     root  root   302    7月22 9:24  file1  
【 1 】    【2】   【3】  【4】   【5】    【6】      【7】

解析:
   第一列:由10个字符组成。第一个字符表示文件类型,第2~10个字符表示权限
         权限由9个字符构成: 前三个字符表示owner拥有的权限
                          中间三个字符表示group下的所有成员拥有的权限
                          后三个字符表示other的权限
   第二列:文件的硬链接数
   第三列:owner的名称
   第四列:group的名称
   第五列:文件大小
   第六列:该文件的最后一次访问时间    
   第七列:该文件名

修改文件所有者

copycopychown [-R] [newOwner] filename       该指令只能是root用户使用
参数: -R 表示递归修改拥有者

//改变文件file1的所有者为root
	chown  root  file1
//修改目录dir1及其子目录和文件的拥有者为root
	chown -R root: dir1
           

软件管理

二进制安装

特点:简单方便但缺乏灵活性

JDK的安装

  1. 将jdk的二进制包上传到指定路径下,例如:/usr/java

  2. 解压

    copycopytar -xzvf /usr/java/jdk-8u171-linux-x64.tar.gz -C /usr/java
    
  3. 配置环境变量

    copycopy#java envirment
    export JAVA_HOME=/usr/java/jdk1.8.0_171
    export CLASSPATH=$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
    
  4. 生效环境变量

    copycopy[root@master ~]# source /etc/profile
    

rpm机制安装

常用指令

copycopyrpm -qa  //检查系统内已安装的程序
rpm -qa | grep 程序名  //用于查询指定的程序是否已经安装 
rpm -qa  //列出所有已经安装在Linux系统下的程序名称
rpm -qi 程序名  //列出该程序的详细信息 ,如版本号,发行时间,安装时间等
rpm -ql 程序名  //列出该程序所有的文档与目录
rpm -qc 程序名  //列出该程序的所有配置文件
rpm -qd 程序名  //列出该程序的所有说明文档 (指与 man 有关的文件)
rpm -qR 程序  //列出与该程序有关的依赖软件所含的文件
copycopyrpm [-ivh] 软件包
-i	:安装
-v	:安装过程中显示详情
-h	:以进度条的形式显示安装进度
-e  :卸载

yum安装机制

查询功能

copycopyyum list all  //列出yum源仓库里面的所有可用的安装包
yum list installed  //列出所有已经安装的安装包
yum list available  //列出没有安装的安装包 
yum info [软件名]  //查看软件的信息
yum search [关键字]  //根据关键字查找到相关安装包软件的信息

安装/卸载

copycopyyum [install | update| reinstall | remove ] [软件名]
yum install -y ntp  //检查是否有ntp,没有则安装
yum install appname  //安装指定的软件
yum reinstall appname  //重新安装指定的软件
yum update  [appname]  //升级指定软件,不指定软件时,升级整个系统的软件
yum remove appname  //卸装指定的软件

免密登录

copycopy机器1:
ssh-keygen #回车回车
cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
ssh localhost //判断是否成功
scp id_rsa.pub 机器2:~/.ssh/authorized_keys

时间同步

软件准备

copycopyyum -y install ntp

同步服务器时间

copycopyntpdate -u ntp1.aliyun.com  //阿里云服务器
ntpdate -u time.windows.com  //微软服务器

集群时间同步

选择一个机器作为时间服务器

时间服务器保证ntpd服务正常运行

copycopy[root@master ~]# systemctl start ntpd
[root@master ~]# systemctl enable ntpd
[root@master ~]# systemctl statua ntpd

时间服务器配置文件

copycopyvi /etc/ntp.conf
添加:
 server 127.127.1.0
 fudge 127.127.1.0 stratum 10
 保存退出
 systemctl status ntpd
 systemctl start ntpd

其他机器

copycopyntpdate -u master
posted @   就薛就薛  阅读(49)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示