linux反转命令 linux转换命令

linux常用命令(rev、查看系统版本)

1.查看系统版本是centos7还是centos8

创新互联公司主营长沙网站建设的网络公司,主营网站建设方案,成都App制作,长沙h5小程序开发搭建,长沙网站营销推广欢迎长沙等地区企业咨询

执行命令

修改内核到指定版本-参考文章:

2、rev命令

rev命令是让文本横向反转的命令。比如:123456 反转 为 654321

可以通过执行命令:echo '123456' |rev 或者 cat test.txt | rev

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

树莓派(Linux 系统)触摸屏翻转显示以及触摸翻转

问题:未使用的Pi官方屏幕,所以使用HDMI屏幕显示的时候,显示旋转的同时,触摸没有旋转

目的:旋转屏幕显示的同时,使得触摸也跟随旋转

操作总流程:

旋转90度操作

翻转显示:

1.sudo nano /boot/config.txt

2.在文件末尾加入

display_rotate=0

display_rotate=1   //90°

display_rotate=2   //180°

display_rotate=3   //270°

ctrl + o 保存文档 重启即可。

注:以下操作皆为SSH操作,所以每条指令前都加了DISPLAY=:0,如果本机操作删掉即可。

1.安装xinput

sudo apt-get install xinput

2.列出所有输入设备信息 远程操作时,使用xinput指令需要加入DISPLAY=:0

DISPLAY=:0 xinput --list

3.列出目标设备属性

DISPLAY=:0 xinput --list-props 7

4.旋转触摸的坐标轴

1)所以先交换x、y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axes Swap' 1

2)然后反转y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axis Inversion' 0 1

显示旋转修改之后需要重启。而触摸旋转不需要重启。

详细操作方法: 

1.安装xinput

sudo apt-get install xinput

描述:

xinput - utility to configure and test X input devices  

xinput-用于配置和测试X输入设备的实用程序

xinput is a utility to list available input devices,

xinput是一个实用程序,可以列出可用的输入设备、

query information about a device and change input device settings.

关于设备的查询信息和更改输入设备设置

2.列出所有输入设备信息

xinput --list

如果远程操作记得在命令前加DISPLAY=:0

得到以下信息:

pi@NTGAGE:~ $ DISPLAY=:0 xinput --list

⎡ Virtual core pointer                          id=2    [master pointer  (3)]

⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]

⎜   ↳ Logitech USB Optical Mouse                id=6    [slave  pointer  (2)]

⎜   ↳ WaveShare WaveShare Touchscreen           id=7    [slave  pointer  (2)]

⎣ Virtual core keyboard                         id=3    [master keyboard (2)]

↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]

↳ Logitech USB Keyboard                     id=8    [slave  keyboard (3)]

↳ Logitech USB Keyboard                     id=9    [slave  keyboard (3)]

3.列出目标设备属性

由于所使用的触摸屏幕是微雪7寸屏幕,由以上信息可以得到微雪的触摸屏对应的ID为7

所以,接下来看这款输入设备的属性,

pi@NTGAGE:~ $ DISPLAY=:0 xinput --list-props 7

Device 'WaveShare WaveShare Touchscreen':

    Device Enabled (115):   1

    Coordinate Transformation Matrix (116): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    Device Accel Profile (240):     0

    Device Accel Constant Deceleration (241):       1.000000

    Device Accel Adaptive Deceleration (242):       1.000000

    Device Accel Velocity Scaling (243):    10.000000

    Device Product ID (244):        3823, 5

    Device Node (245):      "/dev/input/event3"

    Evdev Axis Inversion (246):     0, 0

    Evdev Axis Calibration (247):   no items

    Evdev Axes Swap (248):  0

    Axis Labels (249):      "Abs MT Position X" (267), "Abs MT Position Y" (268), "Abs MT Pressure" (269), "None" (0), "None" (0), "None" (0)

    Button Labels (250):    "Button Unknown" (233), "Button Unknown" (233), "Button Unknown" (233), "Button Wheel Up" (121), "Button Wheel Down" (122)

    Evdev Scrolling Distance (251): 0, 0, 0

    Evdev Middle Button Emulation (252):    0

    Evdev Middle Button Timeout (253):      50

    Evdev Third Button Emulation (254):     0

    Evdev Third Button Emulation Timeout (255):     1000

    Evdev Third Button Emulation Button (256):      3

    Evdev Third Button Emulation Threshold (257):   20

    Evdev Wheel Emulation (258):    0

    Evdev Wheel Emulation Axes (259):       0, 0, 4, 5

    Evdev Wheel Emulation Inertia (260):    10

    Evdev Wheel Emulation Timeout (261):    200

    Evdev Wheel Emulation Button (262):     4

    Evdev Drag Lock Buttons (263):  0

这块屏幕正常显示和触摸的信息如上。

如果执行到这一步,发现并没有以上的Evdev等属性项,请跳转第2种方法。

现在需要达到的目的是在屏幕显示反转的同时,使得触摸也随显示翻转。

屏幕显示为翻转90度。/boot/config.txt设置为display_rotate=1

上述信息中Evdev Axis Inversion 项是每条轴的旋转设置项,后面第一个参数是x,第二个参数是y.

Evdev Axes Swap项对应的是两条轴的交换。

0为不翻转,1为翻转 

例如。x轴原本是朝向右的,当把Evdev Axis Inversion的第一个参数

设置为1,即x轴朝向左。

4.旋转触摸的坐标轴

现在目的是要触摸旋转90度,从坐标轴理解:

即目的x轴正向为初始y轴的反向。目的y轴的正方向为初始x轴的正向。

1)所以先交换x、y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axes Swap' 1

2)然后反转y轴

DISPLAY=:0 xinput --set-prop '7' 'Evdev Axis Inversion' 0 1

这样即可完成触摸旋转90度。若要旋转其他角度,推理一下即可。

显示旋转修改之后需要重启。而触摸旋转不需要重启。

第二种方法

如果查询到的信息如下

DISPLAY=:0 xinput --list-props 6

Device 'WaveShare WaveShare Touchscreen':

    Device Enabled (114):   1

    Coordinate Transformation Matrix (115): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    libinput Calibration Matrix (246):      0.000000, 1.000000, 0.000000, -1.000000, 0.000000, 1.000000, 0.000000, 0.000000, 1.000000

    libinput Calibration Matrix Default (247):      1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

    libinput Send Events Modes Available (248):     1, 0

    libinput Send Events Mode Enabled (249):        0, 0

    libinput Send Events Mode Enabled Default (250):        0, 0

    Device Node (251):      "/dev/input/event0"

    Device Product ID (252):        3823, 5

可以看到该驱动方式采用的是libinput,

查看/usr/share/X11/xorg.conf.d/目录下是否有40-libinput.conf这个文件。

无 则需要安装 

sudo apt-get install xserver-xorg-input-libinput 

下一步安装完成后ls一下,就可以看到在/usr/share/X11/xorg.conf.d/目录下存在该文件,

下一步复制该文件到/etc/X11/xorg.conf.d/目录下。

一开始xorg.conf.d这个目录在/etc/X11可能没有,需要自己创建。

sudo mkdir xorg.conf.d

下一步复制到xorg.conf.d 目录下即可。

sudo cp /usr/share/X11/xorg.conf.d/40-libinput.conf /etc/X11/xorg.conf.d/

下一步进入/etc/X11/xorg.conf.d/目录下修改40-libinput.conf 文件

cd /etc/X11/xorg.conf.d/

sudo nano 40-libinput.conf

找到touchscreen section

Section "InputClass"

    Identifier "libinput touchscreen catchall"

    MatchIsTouchscreen "on"

    MatchDevicePath "/dev/input/event*"

    Driver "libinput"

EndSection

添加一行  Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1 

结果为

Section "InputClass"

    Identifier "libinput touchscreen catchall"

    Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1

    MatchIsTouchscreen "on"

    MatchDevicePath "/dev/input/event*"

    Driver "libinput"

EndSection

然后重启生效

这样的修改也是同样修改为翻转90度,如果需要修改为其他角度,请参考libinput的算法

Linux里面ll -r命令作用是什么?

题主你好,

首先ll这个命令是ls -l的缩写, 也就是 ll 等价于 ls -l.

太长不看版: ll -r的作用是反转结果并输出,ll输出是1,2,3,4,5,则加上-r后输出5,4,3,2,1.

-----

而ls -l,即ll,的作用是"列出详细信息", 下图对比一下,光输和ls和输入ls -l, 来理解什么叫做"列出详细信息":

接下来再说-r这个参数的作用:

请点击输入图片描述bn

也就是说-r参数的作用是,当ls的输出被排序的话,则将排过序的结果反转并输出,说白了就是之前输出的是1,2,3,4,5,加上-r参数后输出的就是5,4,3,2,1.

但-r参数这里有一个需要注意的点,只有ls的结果被排序后,-r参数才起作用, 而题主给的ls -l命令中,-l选项是输出详细信息, 并没有排序的参数呀?,实际上帮助文档中也有相关的描述:

也就是说当ls命令后没有指定cftuvSUX以及--sort中选项时,会自动根据文件名称的字母顺序进行排序,所以因为ls -l的参数为-l,而-l这个选项不在cftuvSUX以及--sort中,因此,

ls -l在列出文件详细信息的时候也会动按照文件名称排序了,所以 -r参数才会起作用(因为上面说了-r参数是对排序后的内容进行反转,而ls -l已经对内容做了排序操作了).

-----

测试:

可以看到ls -l输出的结果是a,b,c 而加上-r参数后的结果是c,b,a

-----

希望可以帮到题主, 欢迎追问.

Linux常用命令详解 | find

find 命令的基本结构如下:

find 命令手册 : man find

find 命令中的 -name 选项可以根据文件名称进行检索( 区分大小写 )。如需要忽略文件名中的大小写,可以使用 -iname 选项。

-name 和 -iname 两个选项都支持 wildcards 。如:

例1:查找 /usr 目录下所有文件名以 .txt 结尾的文件

例2:查找 /usr 目录下所有文件名刚好为 4 个字符的文件

例3:查以大写字母开头的文件

例4:查以两个小写字母和两个数字开头的txt文件

类似的还有:

-lname -ilname

-path -ipath

-regx -iregx

有些时候,你需要在搜索时匹配某个文件或目录的 完整路径 ,而不仅仅是匹配文件名。可以使用 -path 或 -ipath 选项。

例1:如查找 /usr 下所有文件名以 .txt 结尾的文件或目录,且该文件的父目录必须是 src 。可以使用以下命令:

例2:在当前目录除aa之外的子目录内搜索 txt文件

例3:在当前目录,不再子目录中,查找txt文件

如果只想搜索得到文件 或 目录,即不想它们同时出现在结果中。可以使用 -type 选项指定文件类型。

-type 选项最常用的参数如下:

例:检索 /usr 下所有文件名以 python 开头的目录

find 命令支持 -empty 选项用来检索 为空 的文件或目录。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录。

例:检索用户主目录下所有的空目录

find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作)。

如需要检索 /usr 下所有文件名 不 以 .txt 为后缀的文件。可以使用以下命令:

也可以“翻转”任何其他的筛选条件,如:检索 /usr 下所有内容不为空的文件

为了检索归属于特定用户的文件或目录,可以使用 -user 选项。

例:检索根目录下所有属主为 starky 的文件

类似于 -user 选项, -group 选项则可以根据文件或目录的 属组 进行检索。

有些时候,需要根据文件创建或修改的时间进行检索。

Linux 系统中,与文件相关联的时间参数有以下三种:

与此对应的是 find 命令中的 -mtime , -atime 和 -ctime 三个选项。

这三个选项的使用遵循以下示例中的规则:

检索 /usr 下两天前被修改过的文件

如果觉得 -mtime 等选项以 天 为单位时间有点长,还可以使用 -mmin , -amin , -cmin 三个选项。

查找比 aa.txt 新 的文件

查找比 aa.txt 旧 的文件

查找比aa.txt新,比bb.txt旧的文件

-size 选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……)。

表示文件大小的单位由以下字符组成:

另外,还可以使用 + 或 - 符号表示 大于 或 小于 当前条件。

检索文件大小高于 1 GB 的文件

find 命令可以使用 -perm 选项以文件权限为依据进行搜索。

9.1使用符号形式

例1:如需要检索 /usr 目录下权限为 rwxr-xr-x 的文件,可以使用以下命令:

例2:搜索 /usr 目录下所有权限为 r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:

很多时候,我们只想匹配文件权限的一个 子集 。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么。

上述的需求可以通过以下命令实现:

其中 a=x 前面的 / 符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置。

9.2使用数字形式

例如:搜索 /usr 目录下权限为 644 (即 rwxr-xr-x )的文件

find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大。可以使用 -maxdepth 限制 find 命令递归的层数。

例如:搜索时向下递归的层数最大为 3

在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转 。

实际上 find 命令支持 “and” 和 “or” 两种逻辑运算,对应的命令选项分别是 -a 和 -o 。通过这两个选项可以对搜索条件进行更复杂的组合。

此外还可以使用 小括号 对搜索条件进行 分组 。注意 find 命令中的小括号常需要用 单引号 包裹起来。因小括号在 Shell 中有特殊的含义。

如检索 /usr 下文件名以 python 开头且类型为目录的文件

该命令等同于:

更复杂的组合形式如:

例4:在除dir0及子目录以外的目录下查找txt后缀文件

说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.

命令行的意思是:如果目录dir0存在(即-a左边为真),则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真),find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune ,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件。

-delete 选项可以用来删除搜索到的文件和目录。

例如:删除 home 目录下所有的空目录:

-exec 选项可以对搜索到的结果执行执行该参数所给出的shell命令。形式为 command {} \; ,注意{}与\;之间有空格 。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的 {} ,然后执行 -exec 后面的命令一次。

例1:如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是 /media/MyDrive ),可使用下面的命令:

其中的 大括号 ( {} )作为检索到的文件的 占位符 ,而分号( ; )作为命令结束的标志。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来或前面加上转义符 \ 。

例2:查看当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出

例3:在多个文件中检索某个指定的字符串。如在用户主目录下的所有文件中检索字符串 hello ,可以使用如下命令:

创建 Gzip 格式的压缩文件的命令为:

现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包 music.tar.gz 中,直观的感觉是,其命令应为如下形式:

实际情况是,这样得到的 music.tar.gz 其实只包含一个 MP3 文件。原因是 find 命令 每次 发现一个音频文件,都会再执行一次 -exec 选项后面的压缩命令。导致先前生成的压缩包被覆盖。

可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令。完整的命令如下:

如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用 -ls 选项。

例如:浏览所有 1G 以上大小的文件的详细信息

与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行

与 exec 作用相同 ,起承接作用。区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等

例1:查找以ap或may开头的文件

例2:查硬连接数大于2的文件或目录

例3:查找含特定字符串的文件。查找当前目录下含有"the string you want find…"字符串的文件:

例4:从根目录开始查tmpfile,一旦查到马上删除

例5:如何用find查找某一天更改的文件?可以使用这一行命令来实现:

A Guide to the Linux “Find” Command

Linux 中 Grep 命令的常见示例,很全面

Grep 是一个强大的 UNIX 命令,可让您在文件内容中搜索各种参数。当您进行故障排除或调试时,它特别有用。

grep 命令有大量的选项和用例。您可能永远不需要或使用所有这些。但是,您最终会在大多数情况下使用少数几个 grep 命令。

本文列出了最常见的 grep 命令和快速示例:

命令示例:

描述 :不区分大小写的搜索

命令示例:

描述 :匹配后显示 n 行

命令示例:

描述 :在匹配前显示 n 行

命令示例:

描述 :在匹配前后显示 n 行

命令示例:

描述 :显示不匹配的行

命令示例:

描述 :计算匹配行数

命令示例:

描述 :仅显示文件名

命令示例:

描述 :匹配确切的单词

命令示例:

描述 :匹配正则表达式模式

命令示例:

描述 :搜索二进制文件

命令示例:

描述 :递归搜索目录

您可能已经知道要在文件中搜索特定文本或模式,您必须像这样使用 grep:

让我们看看 grep 命令的几个常见用例。

默认情况下,使用 grep 进行的搜索区分大小写,-i您可以使用以下选项忽略大小写匹配:

这样,grep 将返回与 和 匹配的Holmes行holmes。

默认情况下,您只会看到匹配的行,但是,当您对某些问题进行故障排除时,在匹配行之前和/或之后查看几行会有所帮助。

您可以使用-A来显示匹配行之后的行。

下面的命令将显示匹配的行以及匹配后的 5 行。

同样,您可以使用该-B选项在匹配行之前显示行。

下面的命令将在匹配行之前显示 5 行以及匹配行。

我最喜欢的是该选项-C,因为它显示了匹配行之前和之后的行。

下面的命令将显示匹配行之前的 5 行、匹配行和 matchine 行之后的 5 行。

您可以使用 grep 显示与给定模式不匹配的所有行。此“反转匹配”与以下-v选项一起使用:

您可以组合-i和-v选项。

-c您可以使用选项获取与模式匹配的行数,而不是显示匹配的行。这是小写的c。

您可以结合-cand-v选项来获取与给定模式不匹配的行数。您当然可以使用不区分大小写的选项-i。

要显示匹配行的行号,您可以使用该-n选项。

您可以对反向搜索执行相同的操作。

您可以提供多个文件供 grep 搜索。

这可能有效,但更实际的示例是搜索特定类型的文件。例如,如果您只想在 shell 脚本中查找字符串(以 .sh 结尾的文件),您可以使用:

您可以使用 grep option执行递归搜索-r。它将在当前目录及其子目录中的所有文件中搜索给定的模式。

默认情况下,grep 显示匹配的行。如果您对多个文件运行了搜索,并且只想查看哪些文件包含该字符串,则可以使用该-l选项。

假设您想查看哪些 Markdown 文件包含“手册”一词,您可以使用:

默认情况下,grep 将显示包含给定字符串的所有行。你可能并不总是想要那个。如果您正在搜索单词“done”,它还会显示包含“doner”或“abandoned”字样的行。

要使 grep 仅搜索完整的单词,您可以使用以下选项-w:

这样,如果您搜索单词“done”,它只会显示包含“done”的行,而不是“doner”或“abandoned”。

您可以使用正则表达式模式为您的搜索提供超级动力。有一个允许使用正则表达式模式的专用选项-e和-E一个允许使用扩展正则表达式模式的选项。

您可以在同一个 grep 搜索中搜索多个模式。如果要查看包含一种模式或另一种模式的行,可以使用 OR 运算符|。

您可以将多个模式与 OR 运算符一起使用。

AND 运算符没有特定选项。为此,您可以多次使用 grep 和管道重定向。

Grep 默认忽略二进制文件。-a您可以使用该选项使其在二进制文件中搜索,就好像它是文本文件一样。

linux git 怎样退回到指定版本

无论windows还是linux或其他操作系统,git版本管理的操作命令都是一致的,没有任何区别。

退回到指定版本可使用revert反转提交命令,git revert用一个新提交来消除一个历史提交所做的任何修改。revert 之后你的本地代码会回滚到指定的历史版本,这时你再 git push 既可以把线上的代码更新。


分享名称:linux反转命令 linux转换命令
网页链接:http://pwwzsj.com/article/hhjdhs.html