linux常用命令

文件和目录常用命令

pwd查看当前所在目录

cd ~        # 进入当前用户主目录
cd ..        # 进入上级目录
cd /        # 进入系统根目录
ls -a        # 列出目录下所有文件和目录
ls -l        # 等同于ll  将文件的名字、权限、所有者、文件大小等信息详细列出来

touch 新建文件命令

mkdir 创建一个空目录

rm -f                # 强制删除
rm -r                # 删除目录和目录里所有文件
rm -rf /*        # 删库跑路
mv a.txt b.txt        # 修改文件名
mv b.txt ../            # 将文件移动到上级目录
cp 源文件 目标文件(夹)              # 复制一个源文件到目标文件(夹)
cp -r 源文件夹 目标文件夹             # 复制源文件夹到目标文件夹下
cp -u 源文件 目标文件                    # 只有源文件较目标文件新时复制。

chmod 权限

Linux系统中一切都是文件。Linux使用不同的字符来区分不同的文件:

普通文件 目录文件 链接文件 块设备文件 字符设备文件 管道文件
- d l b c p

每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。

图片alt

文件权限的数字表示法基于字符(rwx)的权限计算而来,其目的是简化权限的表示方式。例如,若某个文件的权限为7,则代表可读、可写、可执行(4+2+1);若权限为6,则代表可读、可写(4+2)。

chmod who operator permission file` 如`chmod u+x rumenz.txt

who(用户类型)

who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所用用户, 相当于 ugo

operator(符号模式表)

Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission(权限)

模式 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限

常见的数字权限

  • 400 -r———— 拥有者能够读,其他任何人不能进行任何操作;
  • 644 -rw-r—r— 拥有者都能够读,但只有拥有者可以编辑;
  • 660 -rw-rw—— 拥有者和组用户都可读和写,其他人不能进行任何操作;
  • 664 -rw-rw-r— 所有人都可读,但只有拥有者和组用户可编辑;
  • 700 -rwx——— 拥有者能够读、写和执行,其他用户不能任何操作;
  • 744 -rwxr—r— 所有人都能读,但只有拥有者才能编辑和执行;
  • 755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
  • 777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。

对文件test赋权chmod 777 test或对一个目录赋权要加 -R,递归执行,如对yzj目录执行赋权,chmod -R 777 yzj

grep 搜索内容

grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

格式:grep [选项] ”模式“ [文件]

内容和文件名均可写作正则表达式

-i:在搜索的时候忽略大小写

-n:显示结果所在行号

-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数

-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行

-v:输出不带关键字的行(反向查询,反向匹配)

-w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配
-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after

-Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行,B:before

-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行,C:context

-e:实现多个选项的匹配,逻辑or关系

-P:表示使用兼容perl的正则引擎。

-E:使用扩展正则表达式,而不是基本正则表达式,在使用"-E"选项时,相当于使用egrep。

find 搜索文件

find 搜索路径 [选项] 搜索内容

-name 通过文件名字来查找

find . -name a.cpp        # 从当前目录搜索

cat、more、tail 显示文本文件内容

cat 文件名:cat命令一次显示整个文件的内容

more 文件名:more命令分页显示文件的内容,按空格键显示下一页,按b键显上一页,按q键退出。

tail -f 文件名:tail -f用于显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新。对程序员来说,tail -f极其重要,可以动态显示后台服务程序的日志,用于调试和跟踪程序的运行。

进程管理

常用命令 作用
ps -ef 查看所有进程
ps -ef \ grep expression 用正则表达式过滤出所需要的进程
kill -s name kill指定名称进程
kill -s pid kill指定pid的进程
top 实时显示进程状态
iostate 查看io读写/cpu使用情况
sar -u 1 10 查询cpu使用情况(1秒1次,共10次)
sar -d 1 10 查询磁盘性能

网络

常用命令 作用
ifconfig 查看网络接口属性
ip addr 查看ip地址
ipconfig eh0 192.168.1.1 netmask 255.255.255.255 配置ip地址
netstat 查看各种网络相关信息
netstat -lntp 查看所有监听端口
netstat -antp 查看已经建立的TCP连接
netstat -lutp 查看TCP/UDP的状态信息
route -n 查看路由表

系统服务

常用命令 作用
systemctl status <服务名> 查看某个服务
systemctl start <服务名> 启动某个服务
systemctl stop <服务名> 终止某个服务
systemctl restart <服务名> 重启某个服务
systemctl enable <服务名> 开启自启动
systemctl disable <服务名> 关闭自启动
chkconfig --list 列出系统服务

使用systemctl命令 配置防火墙的过程如下

查看防火墙的命令:

  • 1)查看防火墙的版本。firewall-cmd --version
  • 2)查看firewall的状态。firewall-cmd --state
  • 3)查看firewall服务状态(普通用户可执行)。systemctl status firewalld
  • 4)查看防火墙全部的信息。firewall-cmd --list-all
  • 5)查看防火墙已开通的端口。firewall-cmd --list-port
  • 6)查看防火墙已开通的服务。firewall-cmd --list-service
  • 7)查看全部的服务列表(普通用户可执行)。firewall-cmd --get-services
  • 8)查看防火墙服务是否开机启动。 systemctl is-enabled firewalld

配置防火墙的命令:

  • 1)启动、重启、关闭防火墙服务。

    • systemctl start firewalld # 启动
    • systemctl restart firewalld # 重启
    • systemctl stop firewalld # 关闭
  • 2)开放、移去某个端口。

    • firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放80端口
    • firewall-cmd --zone=public --remove-port=80/tcp --permanent # 移去80端口
  • 3)开放、移去范围端口。

    • firewall-cmd --zone=public --add-port=5000-5500/tcp --permanent # 开放5000-5500之间的端口
    • firewall-cmd --zone=public --remove-port=5000-5500/tcp --permanent # 移去5000-5500之间的端口
  • 4)开放、移去服务。

    • firewall-cmd --zone=public --add-service=ftp --permanent # 开放ftp服务
    • firewall-cmd --zone=public --remove-service=ftp --permanent # 移去http服务
  • 5)重新加载防火墙配置(修改配置后要重新加载防火墙配置或重启防火墙服务)。

    • firewall-cmd --reload
  • 6)设置开机时启用、禁用防火墙服务。

    • systemctl enable firewalld # 启用服务
    • systemctl disable firewalld # 禁用服务

其他

tar -xvf xxx.tar 解压tar包

  1. *.tar 用 tar –xvf 解压
  2. *.gz 用 gzip -d或者gunzip 解压
  3. .tar.gz和.tgz 用 tar –xzf 解压
  4. *.bz2 用 bzip2 -d或者用bunzip2 解压
  5. *.tar.bz2用tar –xjf 解压
  6. *.Z 用 uncompress 解压
  7. *.tar.Z 用tar –xZf 解压
  8. *.rar 用 unrar e解压
  9. *.zip 用 unzip 解压
  10. *.xz 用 xz -d 解压
  11. *.tar.xz 用 tar -zJf 解压

整理

  • 首先是一些文件和目录操作的命令,比如:
    • cd 、pwd、 ls、
    • 创建 touch 、mkdir,删除 rm、移动或重命名 rm,复制cp
    • cat、more、tail 查看文件内容
    • 还有一些重要的命令,如chmod 权限管理、grep 搜索内容、find 搜索文件
  • 还有一些和网络相关的命令
    • ipconfig 查看网络接口属性,配置ip地址
    • netstat 查看各种网络相关信息
    • route 查看路由
    • ping
  • 进程管理的常用命令有:
    • ps -ef 查看所有进程信息
    • kill 杀死进程
  • 系统方面常用的有:
    • top 可以动态显示cpu、内存、进程等情况
    • iostat 可以查看io读写/cpu使用情况
    • sar 查询cpu、磁盘使用情况
    • env 可以查看环境变量
    • date 显示日期
  • 还有一些服务的常用命令
    • systemctl 管理服务
    • firewall-cmd 防火墙
    • vsftpd 文件传输
  • 一些软件安装管理的
    • rpm、yum、dpkg、apt-get用于安装管理软件
    • 解压缩有:
      • tar -xvf xxx.tar 解压tar包
      • zip、unzip
      • gzip与gunzip

git

1、git init:初始化一个Git仓库;

2、git clone:从远程仓库克隆代码到本地;

3、git add:添加文件到暂存区;

4、git commit:将暂存区的文件提交到本地仓库;

5、git push:将本地仓库的代码推送到远程仓库;

6、git pull:从远程仓库拉取最新代码;

7、git branch:列出所有本地分支;

8、git checkout:切换分支或恢复工作树文件;

9、git merge:合并指定分支到当前分支;

10、git status:显示工作树的状态;

11、git log:显示提交日志;

12、git diff:显示工作树与暂存区或本地仓库之间的差异;

13、git stash:将当前工作区的变更储存到一个临时区域;

14、git tag:添加、列出或删除标签;

15、git remote:管理远程仓库;

16、git fetch:从远程仓库拉取最新代码,但不自动合并到本地仓库;

Copyright © YZJ 2022 all right reserved,powered by Gitbook更新时间: 2023-09-07 16:09:11

results matching ""

    No results matching ""