Linux 快速上手

这篇具有很好参考价值的文章主要介绍了Linux 快速上手。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Liunx

  • 不同的操作系统 Linux、Unix、Windows…
  • Linux的不同的发行版本: debian、ubuntu、deepin、rethat、centos、fedora等等

Linux系统安装

可以参考我的安装Linux系统的文章,或者看网上找下安装步骤

Linux命令

命令行基础操作:
1. 命令行
[root@linux01 Desktop]#
root 用户、linux01 主机名、 Desktop 用户所在目录、# 表示root用户($ 代表普通用户)
2. 查看历史命令
history
或者使用 ↑、↓按键获取历史命令
3. tab补全命令
使用tab按键补全输入的命令、文件名等
4. 清屏 
clear 或 ctrl+l快捷键
5. 查看当前位置
pwd
基础命令
  • ls
  • cd
  • touch
  • mkdir
  • rm
  • cp
  • mv
  • cat
  • more
  • less
  • head
  • tail
  • reboot
  • shutdown

vi编辑器使用

网络配置

  • 配置主机名
    查看主机名
$ hostname

修改主机名 重启后失效

# hostname my-hostname

修改主机名 重启后生效

# vi /etc/hostname 
修改主机名
  • ip配置
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改或增加一下配置 (网段根据具体情况定,我这里是虚拟机)
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.81.101
PREFIX=24
GATEWAY=192.168.81.2
DNS1=192.168.81.2

重启网络服务

systemctl restart network
systemctl enable network
  • 映射文件
# vi /etc/hosts
192.168.81.101  my-hostname

验证网络配置

验证是否可以访问外网,或者局域网内的主机
ping www.baidu.com

用户和用户组

  • 查看用户
$ cat /etc/passwd

​ root​ ​ ​:x:0:0:root:/root:/bin/bash
​ root 用户名
​ x 密码
​ 0 用户id
​ 0 用户组id
​ root 用户描述
​ /root 用户家目录
​ /bin/bash 用户所用的shell

​ 当创建一个用户,系统会默认创建一个和用户名相同的用户组
  • 查看用户组
​ $ cat /etc/group
  • 用户类型
在 Linux 系统中,有以下几种常见的用户类型
超级用户(root 用户):具有最高权限,可以对系统进行任何操作,包括修改系统设置、安装软件、管理文件和用户等。
普通用户:这类用户只能执行有限的系统操作,无法修改系统设置或管理其他用户。他们的文件和目录通常位于/home 文件夹下。
系统用户:用于运行系统服务或守护进程的特殊用户。这些用户通常不允许直接登录系统,而是通过服务进程来执行任务。
组用户:组是用户的集合,可以将多个用户归为一个组,以便于管理和共享文件和权限。
通过使用用户和组的概念,Linux 系统可以实现对不同用户的访问控制和权限管理,提高了系统的安全性和可管理性。
  • 创建用户
# useradd xiefei
# passwd  密码			设置或修改密码
  • 删除用户
# userdel -r xiefei		彻底删除用户
  • 创建用户组
#groupadd	用户组
  • 向用户组添加用户及删除用户,查看用户所属用户组
# gpasswd -a hadoop mygroup
# gpasswd -d hadoop mygroup
# groups hadoop
  • 切换用户
$ su -			切换为root用户,同时切换工作目录
# exit			退出当前用户
$ su 			切换为root用户

$ su hadoop   切换为hadoop
$ su - hadoop   切换为hadoop   ,并切换工作目录

su 和 su - 的区别:前者切换用户, 后者切换用户及用户环境

# exit 退出用户

用户文件和目录权限

查看文件权限

ls -l /etc/sysconfig
显示内容如下:
-rw-r--r--. 1 root root  429 Jan 24 03:22 authconfig
drwxr-xr-x. 2 root root   43 Jan 24 03:20 cbq
drwxr-xr-x. 2 root root    6 Nov  6  2016 console
-rw-r--r--. 1 root root  150 Nov 23  2016 cpupower
-rw-------. 1 root root  110 Mar 31  2016 crond
-rw-------. 1 root root 1390 Nov  6  2016 ebtables-config
-rw-r--r--. 1 root root   73 Nov 12  2016 firewalld
lrwxrwxrwx. 1 root root   17 Jan 24 03:20 grub -> /etc/default/grub

第一个字符: d:目录 、-:文件、l:软链接
第一组rwx:所属用户(u)的权限 
第二组rwx:所属用户组(g)的权限
第三组rwx:其他用户(o)的权限

字母表示:
	r 可读(read)、w	可写(write)、x	可执行
	rwx  可读可写可执行	
	r-x	可读可执行
数字表示:
	rwx 也可以表示为  111	7 
	​rw-				  110	6
	​r-x				  101	5
	​r--				  100	4
  • 修改权限
# chmod u+x test.c  为所属用户添加执行权限
# chmod g+w	test.c	为所属用户组添加写权限
# chmod o-x test	删除其他用户的执行权限

# chmod 444 test.c 修改为只读
# chmod 764 test.c	修改为可读可写可执行
# chomd 777 -R test/ 递归修改test的所有文件权限
  • 修改所属用户
# chown hadoop msg.txt  把msg.txt修改为hadoop所有
  • 修改所属用户组
# chgrp hadoop msg.txt
  • 修改所属用户及所属用户组
# chown hadoop:hadoop -R myDir/
  • 向用户组添加用户及删除用户,查看用户所属用户组
# gpasswd -a hadoop mygroup
# gpasswd -d hadoop mygroup
# groups hadoop

sudo权限

# visudo
输入/root搜索
然后在root ALL。。。下面配置普通用户的sudo权限
root    ALL=(ALL)       ALL
user01  ALL=(ALL)     NOPASSWD: ALL

解释:
第一个ALL是指网络中的主机,它指明user01用户可以在此主机上执行后面的命令。
第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
最后一个ALL是指命令。

使用sudo权限

$ sudo vi /etc/hosts

常见命令

  • 管道符 |
    把前一个命令的输出结果传递给后面的命令处理
# ls -la /etc | more
  • 使用grep过滤
$ ls -l / | grep etc					查看/etc的权限
cat /etc/passwd | grep 'root'			查看/etc/passwd包含‘root’的行
ls -la /etc | grep config				查看/etc下, 包含‘config’的行
# ll /etc/ | grep 'sysconfig'	查看当前目录的包含“sysconfig”的文件
# ifconfig | grep 'inet'  		查看ip
  • 覆盖 >, 追加>>
# ll > test.txt 	以长格式显示当前目录 并覆盖到test.txt文件中
# ll >> test.txt	以长格式显示当前目录 并追加到test.txt文件中
  • wc 单词行数统计
# wc -l /etc/passwd					统计/etc/passwd的行数
# wc -w test.c						统计test.c的单词数
#ls /etc/sysconfig/ | wc -w			统计/etc/sysconfig,有多少个文件
  • 统计文件或目录大小
# du -sh /lib						显示目录的大小
  • 搜索命令 find
    语法格式:find 范围 条件

    • 按文件名·

      # find  / -name  init
      模糊查询带有关键字的:   $  find  /etc/ -name *work
      查找关键字开头的文件:	  $  find  /etc/ -name init*
      匹配单个字符 		   	 $  find /etc/ -name ???work
      不区分大小写匹配	    $  find /etc/ -iname ???work
      
    • 按文件大小

      指定方式:+大于,  -小于,不加符号表示等于
      $  # find /etc/ -size  +2M
      
    • 按所属用户,用户组

      # find /  -user hadoop    
      # find / -group hadoop
      
    • 按文件类型

      # find /etc/ -name *work -type f	文件
      # find /etc/ -name *s -type d		目录
      
  • 压缩解压

tar压缩解压为 .tar.gz
-C	指定dir
-z, --gzip, --gunzip, --ungzip   filter the archive through gzip
-c, --create               create a new archive
-x, --extract, --get       extract files from an archive
-v, --verbose              verbosely list files processed
-f, --file=ARCHIVE         use archive file or device ARCHIVE
-f后面必须跟上要处理的文件名
  • 压缩解压
 # tar -zcvf test.tar.gz ./				将当前目录压缩为test.tar.gz
 # tar -zxvf test.tar.gz -C /opt		将压缩文件test.tar.gz 解压到 /opt目录

压缩解压为.tar

tar -cvf content.tar Main.java msg.txt 将Main.java msg.txt压缩为 context.tar
tar xvf content.tar -C  test	将content解压到test文件夹下

压缩解压: .gz 不保留源文件

压缩
$ gzip hello.mp4 
解压
$ gunzip hello.mp4.gz
  • date 命令
    • 显示系统时间
    date
    Mon Jun  5 15:11:44 CST 2017
    
    • 带时区的时间
    date -R 
    Mon, 05 Jun 2017 15:14:44 +0800
    
    • 格式化日期
    date  '+%Y-%m-%d %H:%M:%S'
    2017-05-02 11:20:10
    
    • 设置时间
    date -s "2016-12-08 10:43:00"
    
    • 校准时间
    sudo ntpdate ntp.api.bz
    ntpdate ntp.api.bz 为网络时间服务器
    

rpm包管理

  • 查看安装软件
$ rpm -qa | grep jdk
​查看某个文件属于哪个rpm包安装的
​#  rpm   -qf /etc/ntp.conf
  • 安装
# rpm  -ivh   tree-1.5.3-3.el6.x86_64.rpm
用法: rpm -ivh 软件名(.rpm)
选项:-i install 代表安装、-vh 显示详细的进度 
  • 卸载
选项: -e(--erase) 代表卸载  、--nodeps  (不验证依赖卸载)
# rpm -e tree-1.5.3-3.el6.x86_64 --nodeps
  • 卸载自带jdk
$ sudo rpm -e java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 --nodeps
$ sudo rpm -e java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64  --nodeps

yum

方便、快捷、自动解析依赖,需要连接外网

  • 查询
#  yum list       //查看yum源上拥有的软件
$ sudo yum list  installed  | grep tree		相当于rpm -qa | grep tree
  • 安装
    选项:install 表示安装,跟yum源的软件名
    选项:-y , 表示直接自动确认
# yum install httpd-devel.x86_64
# yum -y install httpd-devel.x86_64
$ sudo yum install tree
  • 卸载
# yum  -y remove httpd-devel.x86_64

安装jdk,配置环境变量

  • 创建两个目录
$ sudo mkdir /opt/software   //安装包的存放目录
$ sudo mkdir /opt/modules    //解压安装的目录
  • 修改目录的所属用户及所属用户组
$ sudo chown hadoop:hadoop /opt/software/ /opt/modules/
  • 上传并解压jdk
$ tar -zxvf /opt/software/jdk-8u112-linux-x64.tar.gz -C /opt/modules/
  • 配置环境变量
# vi /etc/profile 
末尾添加
​#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
  • 使生效
#source /etc/profile
  • 检查是否成功
java
javac
java -version

系统管理命令

  • top 查看系统资源
相当于任务管理器
每隔3秒更新一次
按q或ctrl+c退出浏览状态
  • 查看系统资源
vmstat 2 5
展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况
2 表示间隔时间
​5 表示采集次数
  • free 查看内存信息
选项:-m, 就是以MB格式显示
free -h
free -m
  • 查看硬盘分区信息
df -l 
  • ps -ef 查看系统进程
ps -ef | grep crond
  • 查看java进程
jps
  • 杀死正在进行的进程
kill -9 进程id
  • ifconfig 查看网络信息
  • 检测网络连接
ping 另一台主机
  • 查看网络端口
netstat -antp
选项:
-t     #监控tcp协议的进程
​-l 	   #listenning
​-n     #显示端口号信息
​-p     # 显示进程的PID

Crontab 任务调度

  • crontab命令
crontab -l   (list )   #查看目前的计划任务列表
crontab -r   (remove)  #删除计划任务
crontab -e   (eidt)    #编辑周期性计划任务
  • 查看进程服务, 如果停止可以启动
$ systemctl status crond
$ systemctl start crond
$ systemctl enable crond

调度语法

Example of job definition:
		# .---------------- minute (0 - 59)
		# |  .------------- hour (0 - 23)
		# |  |  .---------- day of month (1 - 31)
		# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
		# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
		# |  |  |  |  |
		# *  *  *  *  * user-name command to be executed
		 *    *      *            *             * 
		分钟 小时  天(of月)  月(of年)  星期(of周)
特殊字符
"*"代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;
"/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次。
"-"代表从某个区间范围,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中0-23/2表示在0~23点范围内每2个小时执行一次。
","分散的数字(不一定连续),如1,2,3,4,7,9。
注:由于各个地方每周第一天不一样,因此Sunday=0(第一天)或Sunday=7(最后1天)。
实例)
  • 定时调度例子:
每一分钟执行一次command(因cron默认每1分钟扫描一次,因此全为*即可)
*/1 * * * * /bin/date  >> /root/Desktop/date.txt
每小时的第3和第15分钟执行command
3,15 * * * * /bin/cp /root/Desktop/date.txt /root/date.log
每天上午8-11点的第3和15分钟执行command:
3,15  8-11  *  *  *  command
每隔2天的上午8-11点的第3和15分钟执行command:
3,15  8-11  */2  *   *  command
每个星期一的上午8点到11点的第3和第15分钟执行command
3,15  8-11   *   *  1 command
每晚的21:30重启smb
30  21   *   *  *  /etc/init.d/smb restart
每月1、10、22日的4 : 45重启smb
45  4  1,10,22  *  *  /etc/init.d/smb restart
每周六、周日的1 : 10重启smb
10  1  *  *  6,0  /etc/init.d/smb restart
每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30  18-23  *  *  *  /etc/init.d/smb restart
每一小时重启smb
*  */1  *  *  *  /etc/init.d/smb restart
晚上11点到早上7点之间,每隔一小时重启smb
*  23,0-7/1  *   *   *  /etc/init.d/smb restart
每月的4号与每周一到周三的11点重启smb
0  11  4  *  mon-wed  /etc/init.d/smb restart
每小时执行/etc/cron.hourly目录内的脚本
0  1   *   *   *     root run-parts /etc/cron.hourly
每天晚上18:00执行一次拷贝/home/uer01/2.log文件到/opt/software的任务
0 18 * * * /bin/cp /home/uer01/2.log /opt/software
每天晚上6点到第二天早上6点 每15分钟记录一次时间到/home/uer01/2.log文件中
*/15  18-23,0-6 * * * /bin/date  >> /home/user01/2.log
0,15,30,45  18-23,0-6 * * * /bin/date  -R >> /home/user01/2.log

文章来源地址https://www.toymoban.com/news/detail-821623.html

到了这里,关于Linux 快速上手的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(98)
  • [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程,本期为大家按照本专栏的基本内容进行多方面的测评。

    2024年02月07日
    浏览(94)
  • Linux服务器快速安装Redis-6.0

    ​本文提供了在Linux服务器上安装Redis-6.0的详细步骤和配置方法,适用于阿里云ECS,CentOS 7.9操作系统。通过按照给定的步骤,您可以轻松地将Redis-6.0部署到您的服务器上,并进行必要的配置。

    2024年02月04日
    浏览(51)
  • Linux服务器快速安装MongoDB-5.0

    最近开始体验FastGPT开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到MongoDB,就在自己服务器上进行了安装,特此记录下。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 1.打开MongoDB社区版下载页面,选择我们想要安装的版本、操作系统、

    2024年02月04日
    浏览(64)
  • Linux服务器常见运维性能测试(3)CPU测试super_pi、sysbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月02日
    浏览(55)
  • 华为云云耀云服务器L实例评测 | Linux系统宝塔运维部署H5游戏

    本章节内容,我们主要介绍华为云耀服务器L实例,从云服务的优势讲起,然后讲解华为云耀服务器L实例资源面板如何操作,如何使用宝塔运维服务,如何使用运维工具可视化安装nginx,最后部署一个自研的H5的小游戏(6岁的小朋友玩的很开心😁)。 前端的同学如果想把自己

    2024年02月07日
    浏览(58)
  • 在Linux系统(服务器)使用阿里云盘服务快速上传下载文件

    使用集群服务器的时候,尤其是当服务器有多个节点时有些复杂,连接集群我们一般用xshell,传输文件我们一般使用Xftp,一般对于单个节点服务器来说是方便的,使用Xftp还可以可视化本地和服务器端的文件,但当有多个节点时,这就不适用了,他不能选择节点,有局限,连接

    2024年02月04日
    浏览(54)
  • Linux服务器快速安装FastGPT知识库问答系统

    最近开始体验FastGPT知识库问答系统,参考官方文档,在自己的阿里云服务器使用Docker Compose快速完成了部署。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 1.登录服务器,执行相关命令完成安装。 1.登录服务器,在/mnt目录(可以自己选择)下创建fastgpt目录,并下载

    2024年02月04日
    浏览(52)
  • Linux服务器监控的神器:Netdata(小白教程)快速搭建

    发现了一个单机监控的Netdata,眼前着实为之一亮。 令人印象非常之深刻的个主要特性: 界面酷炫,实时监控 零配置,即装即用 官网地址在这里: https://my-netdata.io/ netdata的主要功能,主要有几点(详细的可查看github上的说明): interactive bootstrap dashboards, 酷炫(主要是dark主

    2024年02月04日
    浏览(42)
  • Linux服务器快速安装PostgreSQL15以及pgvector向量插件

    最近开始体验FastGPT或Dify等开源知识库问答系统,用他们试着开发调试一些小助手。这中间需要使用到PostgreSQL,就在自己服务器上进行了安装,特此记录下。 环境说明:阿里云ECS,2核8G,X86架构,CentOS 7.9操作系统。 1.打开PostgreSQL官网下载页面,选择操作系统和数据库版本。

    2024年02月04日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包