Linux运维基础--常见命令

2023-11-11

Linux运维基础–常见命令

linux的发行版本介绍:

Linux 内核(kernel)版本主要有 4 个系列,分别为 Linux kernel 2.2Linux kernel 2.4Linux kernel 2.6Linux kernel3.x ,更多更新的内核版本请浏览 https://www.kernel.org/

Linux的发行商包括,Redhat,Debian,SUSE,Centos,Ubuntu,红旗,麒麟…turbolinux等。

Linux目录结构

目录结构 说明
/dev 存放设备文件
/boot 存放内核与启动命令
/lib 存放系统库文件
/bin 存放二进制文件 binary
/sbin 存放特权级二进制文件
/usr 存放安装程序,软件默认目录
/var 存放经常变化的日志文件,如:/var/log/messages:系统级别日志,一个很重要的排错文件
/mnt 文件挂载目录,U盘,光驱等
/home 普通用户家目录
/tmp l临时文件夹
/etc 存放配置文件目录
/opt 大型软件存放目录,也可自定义存放
/sys 系统文件
/srv 服务相关数据
/run 里面的文件是系统运行时需要的,不能随便删除,但是重启时应该抛弃,下次系统运行时重新生成
/proc 内存系统文件

/etc初始化系统重要文件

文件 说明
/etc/fstab 配置开机设备自动挂载的文件
/etc/rc.local 存放开机自启动程序命令的文件
/etc/inittab 系统启动设定运行级别等配置文件
/etc/profle 配置系统的环境变量,别名等的文件,和/etc/bashrc一样
/etc/init.d 软件启动程序所在目录(centos 6)
/usr/lib/systemd/system 软件启动程序所在目录(centos 7)
/etc/motd 配置用户登录系统之后显示提示内容的文件
/etc/redhat-release 声明Redhat版本号和名称信息的文件
/etc/sysconfig/network-scripts/ifcfg-ens33 网卡配置文件,也可能是eth0,ens32等
/etc/resolv.conf Linux系统DNS客户端配置文件
/etc/hostname 主机名配置文件
/etc/hosts 系统本地的DNS解析文件
/etc/sysctl.conf Linux内核参数设置文件
/etc/issue和/etc/issue.net 配置在用户登录终端前显示信息的文件
/etc/profile.d 用户登录后执行脚本所在目录

ls

列出文件夹种的内容

参数:
-a all,显示所有的目录及隐藏文件
-l 详细输出文件夹中的内容
-h  和-l配合使用,以可读方式输出文件大小
-t 根据最后修改的实际排序文件
-S 对文件从大到小排序
-r 逆转排序,可以-t,-S等结后使用
-i 显示文件的inode信息

pwd

打印当前工作目录的绝对路径

su

用户切换

su - 用户名,完全的环境变量用户切换

logout

退出当前系统用户,或者exit

mkdir

创建文件夹

参数:
-p  递归创建
-m 建立目录的同时设置目录的权限

案例:
mkdir -mp 700 /test/cc

touch

1.创建新的空文件
2.将每个文件的访问实际和修改实际改为当前实际

参数:
-c 不创建任何文件
-r 使用指定文件的实际属性代替当前文件时间
-t 修改文件的时间 
--help 帮助信息

案例:
[root@localhost test]# touch -t 200808080808 aoyunzhongguo.txt
[root@localhost test]# ll
total 0
-rw-r--r-- 1 root root 0 Aug  8  2008 aoyunzhongguo.txt

cp

将一个或多个源文件复制到目标文件

-r 递归复制目录,即复制目录下所有的子目录和子文件
-p 复制的时候保持属性不变
-d 复制的时候保持软连接
-a 等于-prd
-i 覆盖前询问提示

案例:
递归复制
 cp -r  /etc/sysconfig/network-scripts/ ./

复制 保持属性改名
 cp  -a  /etc/sysconfig/network-scripts/ifcfg-ens33 eht0

复制多个文件
cp  mjj.txt  mjj.gif  /test

mv

移动或者重命名文件

参数:
-f  覆盖前不询问
-i  覆盖前询问

案例:
改名
mv mjj.txt njj.txt

移动且改名
mv njj.txt  /root/mjj.txt

tree

以树形图形象目录下的内容,安装yum install tree -y

参数:
-C  在文件和目录清单加上色彩,便于区分类型
-d  显示目录名称而非内容
-D  列出文件和目录的更改时间
-f  在每个文件或目录之前,显示完整的相对路径

rm

删除一个或多个文件

参数:
-f  强制删除
-i  在删除前需要确认
-T  删除超过三个文件或者递归删除前要求确认
-d  删除目录
-r  递归删除
--help 帮助
--version  显示版本信息并退出

危险命令,慎用

Linux帮助命令

man 
--help
info

案例:
man ls
rm --help
info cp

Linux开关机命令

shutdown  重启或关机
-r  重启   例: shutdown -r 10  或者10:30 (时间) now 立即重启
-h 关机	例:  shutdown -10   十分钟后关机, 0  now 立刻关机

reboot  重启    poweroff 关机	

init 切换运行级别,0关机, 6重启 

vim

功能强大的文本编辑器
安装:yum install vim -y

vim 的四种模式:
正常模式    
插入模式	字母,i o等进入
命令模式	:冒号进入
可视模式	ctrl+v  q!不保存退出  wq!保存退出

vim快捷键:
方向:
h:左
j:下
k:上  
l:右

光标快捷键:
w/e:移动到下一个单词
b:移动到上一个单词
数字0移动到行首
字符$移动到行尾
ctrl + f 下一页
ctrl + b 上一页
`. 光标移动到上一次修改的行

命令模式的查找:
/ + 要找的内容
n 向下找
N 向上找

命令模式的复制,粘贴,删除
输入yy 复制光标所在行;4yy表示复制4行
p 在光标的下一行,打印粘贴的内容
dd 删除光标所在行
D 删除光标当前位置到行尾的内容
d0 从当前的光标开始向前剪切,一直到行首
dG 删除光标所在行到最后一行的内容
x 删除光标当前字符,向前删除,X向后删除
dw 删除一个单词
cc 修改整行文字
u 撤销上一步动作,ctrl+r  反撤销
. 重复上一次操作

快捷操作:
C 删除光标所在位置到行尾内容,且进入编辑模式
o 在当前光标的下一行开始编辑
A 快速进入行尾,且进入编辑模式
ZZ 快捷保存退出

批量注释快捷操作:
ctrl + V 进入可视模式,
上下左右选择需要操作的块
选中后输入大写I,输入#
两次ESC,自动生成多行代码
即批量注释
再次批量选择注释符,d删除注释

命令模式:
:set nu  显示行号
:set nonu 关闭行号
:set list 查看使用使用tab键
:set nolist 关闭

替换模式:--REPLACE--
命令行输入R进入替换模式;退出ESC
:s/old/new   只替换光标所在行的第一个 old string
:s/old/new/g 替换光标所在行的所有old string   g表示global ; n表示一个行号
:%s/old/new/g 将文本所有的old string替换为new string
:1,2s/old/new/g 替换1到2行中的old string 为new string
:.,2s/old/new/g  替换光标所在行到地二行的
:2,$/old/new/g  替换第2行到最后一行的old string为new string

:!command 在不退出编辑器的情况下执行一条命令
当同时编辑多个文件时,因为同一时间只能显示一个文件,所有在vim中切换打开的文件可以使用:N或:n来切换打开的文件

批量移动代码
ctrl + v 选择块代码
shift + > 向右移动
shift + < 向左移动代码
	= 对齐
	
批量保存
:n,m  w  filename 命令将第n行到m行的内容保存到指定的filename文件中,filename必须由vim自动生成

重定向符号

将数据传到其他地方

符号 解释
< 或者 << 标准输入stdin ,代码为0
> 或者 >> 标准输出stdout,代码为1
2> 或者 2>> 标准错误输出stderr,代码为2
将输出都重定向到/dev/null的几种写法:
>/dev/null  2>$1 
1>/dev/null 2>/dev/null
&>/dev/null

xargs命令

给其他命令传递参数的一个过滤器

参数:
-n 多行输出
-d 为输入指定一个定制的分隔符,默认是空格
-I 让xargs执行多个命令
-i 用{}代替传递的数据

案例:
## -n的用法
[root@localhost test]# cat tets.txt 
a b c d e f g 
h i j k l m n
o p q 
r s 
t u v w x y z
[root@localhost test]# cat tets.txt |xargs
a b c d e f g h i j k l m n o p q r s t u v w x y z
[root@localhost test]# cat tets.txt |xargs -n3
a b c
d e f
g h i
j k l
m n o
p q r
s t u
v w x
y z

## -d的用法
[root@localhost test]# echo "namexnamexnamexname" | xargs -dx
name name name name

[root@localhost test]# echo "namexnamexnamexname" | xargs -dx -n2
name name
name name

#-i参数的用法,用{}替代传递的数据
找到当前目录所有的.txt文件,然后拷贝到其他目录下
find . -type f -name "*.txt" | xargs -i cp {} /opt

#找到指定目录所有的txt文件,然后删除
find /opt -type f -name "*.txt" |xargs -i rm -rf {}

cat

功能 说明
查看内容较少的纯文本文件 cat filename
多个文件合并 cat file1.txt file2.txt > file3.txt
非交互时编辑或追加内容 cat >> file.txt<<EOF ;输入代码 ;以EOF结束
清空文件内容 cat /dev/null > file.txt

1.参考内容较少的纯文本文件
2.连接多个文件并打印到标准输出
3.显示文件内容中不可见的字符(控制符,换行符,制表符)

参数:
-b 对非空行输出编号
-E 每行结束处显示$
-n 对输出的所有行编号
-s 不输出多行空行,多个空行减为一个,一个空行不受影响
--help 显示帮助信息并退出

案例:
[root@localhost test]# cat test.txt 
a
b


c
[root@localhost test]# cat test.txt  -s
a
b

c
[root@localhost test]#

tac

按行为单位反向显示文件内容,如果没有文件或文件为 - 则读取标准输入
处理多个文件时,依次将每个文件反向显示,而不是将所有文件连载一起再反向显示

案例:
[root@localhost test]# seq 1 3 > 1
[root@localhost test]# seq 4 6 > 2
[root@localhost test]# cat 1 2
1
2
3
4
5
6
[root@localhost test]# tac 1 2
3
2
1
6
5
4

21[root@localhost test]# cat 1
1
2
3
[root@localhost test]# tac 1
3
2
1

管道符

Linux提供的管道符将两条命令隔开,管道符左边命令会做为管道符右边命令的输入

less/more

分屏查看大文本内容的命令

操作:
enter 回车是下一行
空格是向下滚动一个屏幕大小
=显示当前行号
q退出

less 参数
-e  文件内容显示完毕后,自动退出
-f  强制显示文件
-l  搜索是服了大小写的差异
-N  每一行行首显示行号
-s  连续多个空号压缩成一行显示
-S  在单行显示较长的内容,而不换行显示
-x  将tab字符显示为指定个数的空格字符

more参数
-s 将多个空号压缩成一行显示
-<数字> 指定每屏显示的行数
-c 不进行滚屏操作,每次刷新这个屏幕

head && tail

head 默认是从头往后看10行
tail 默认是从后向前看10行,也可以指定行数,用法与head等同

tail 参数
-f  实时刷新文件内容变化
-F  不断打开新文件,可以和-f结合使用

扩展点:tail -f 与 -F 还有tailf的区别
tail -f 更加文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tailf 等同于 tail -f -n 10(tail -f 或者-F 默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所有tailf也不适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以节省电量。

常用操作:
ctrl + S 暂停终端
ctrl + Q 继续终端
ctrl + c 退出

cut

在文件的每一行中提前片段,
在每个文件的各行中,把提取的片段显示在标准输出

语法:cut  参数  数值区间  文件 
参数:
-b  以字节为单位分隔
-n  取消分隔多字节字符,与-b一起使用
-c  以字符为单位
-d  自定义分隔符,默认以tab为分隔符
-f  与-d 一起使用,指定显示那个区域
范围:
N-    N至结尾
N-M	  N到M,并包括M,字符或字段
-M	  开头到M,并包括M,字符或字段

案例:
准备文件
[root@localhost test]# tail -3 /etc/sysconfig/network-scripts/ifcfg-ens33 > ens33
[root@localhost test]# cat ens33 
NETMASK=255.255.255.0
GATEWAY=192.168.178.254
DNS1=119.29.29.29

截取每一行的第四个字符
[root@localhost test]# cut -c 4 ens33 
M
E
1

截取4到6个字符
[root@localhost test]# cut -c 4-6 ens33 
MAS
EWA
1=1

指定分隔符,进行截取
[root@localhost test]# cut -d "." -f 3 ens33 
255
178
29

sort

将输入的文件内容安装规则排序,然后输出结果

参数:
-n 根据字符串数组比较
-r 逆序输出排序结果
-u 去重排序
-t 使用指定的分隔符代替非空格到空格的转换
-k 位置

案例:
[root@localhost test]# cat test.txt 
11.0.0.1
10.0.0.5
15.0.0.2
13.0.0.8
10.0.0.5

对第一个字符排序,默认从小到大排序
[root@localhost test]# sort -n test.txt 
10.0.0.5
10.0.0.5
11.0.0.1
13.0.0.8
15.0.0.2

逆序排序
[root@localhost test]# sort -nr  test.txt 
15.0.0.2
13.0.0.8
11.0.0.1
10.0.0.5
10.0.0.5

去重排序
[root@localhost test]# sort -u   test.txt 
10.0.0.5
11.0.0.1
13.0.0.8
15.0.0.2

指定分隔符,指定区域排序
[root@localhost test]# sort -t "." -k 4 test.txt 
11.0.0.1
15.0.0.2
10.0.0.5
10.0.0.5
13.0.0.8

uniq

显示忽略重复的行,常与sort排序结合使用

参数:
-c 在每行开头显示重复次数
-d 只输出重复的行
-u 只显示出现过一次的行,

案例:
[root@localhost test]# cat test.txt 
1
1
1
12
55
13
55
16
12
55
55

只能去除连续的重复行
[root@localhost test]# uniq test.txt 
1
12
55
13
55
16
12
55

结合sort使用,去重很精准
[root@localhost test]# sort -n test.txt |uniq
1
12
13
16
55

统计每一行重复次数
[root@localhost test]# sort -n test.txt |uniq -c
      3 1
      2 12
      1 13
      1 16
      4 55

只找出文件中重复行,且统计次数
[root@localhost test]# sort -n test.txt |uniq -d -c
      3 1
      2 12
      4 55

找出只出现过一次的行
[root@localhost test]# sort -n test.txt |uniq -c -u
      1 13
      1 16

wc

用于统计文件的行数,单词,字节数

参数:
-c 打印字节数
-m 打印字符数
-l 打印行数
-L 打印最长行的长度
-w 打印单词数

案例:
统计文件个数
[root@localhost ~]# ls | wc -l
1

w

显示目前登入系统的用户信息

[root@localhost ~]# w
 20:49:43 up  8:26,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.178.1    13:58    7.00s 13.59s  0.00s w
root     pts/1    192.168.178.1    19:43    1:03m  0.02s  0.02s -bas

tr

从标准输入中替换,压缩,删除字符,并将结果写到标准输出

参数:
-c 取代所有不属于第一字符集的字符
-d 删除所有不属于第一字符集的字符
-s 把连续重复的字符以单独一个字符表示
-t 先删除第一字符集较第二字符集多出的字符

案例:
把连续重复的字符以单独一个字符表示
[root@localhost ~]# echo " iii lllovve yyou" |tr -s 'ilvy'
 i love you
 
替换标准输入中的大小写
[root@localhost ~]# echo "every good" |tr "[a-z]" "[A-Z]"
EVERY GOOD

使用-d 参数删除
[root@localhost ~]# echo "every good 666" |tr -d 'a-z'
  666

把文件当中标准输入,进行字符替换,不会改变文件
[root@localhost ~]# cat test.txt 
every good 666
[root@localhost ~]# tr 'o' 'O' < test.txt 
every gOOd 666

stat

以文字的格式来显示inode的内容,(比ls输出的信息更加详细)

参数:
-L 跟随链接
-f 显示文件的系统状态而非文件状态
-t 使用简洁格式输出

find

用来在指导目录下查找文件

参数:
--maxdepth  设置最大目录层级
--mindepth  设置最小目录层级
-atime		按照文件访问时间查找,atime ctime mtime单位都是天;
# 如:-1以内;1 恰好一天;+1 超过一天(一天以前)
-ctime		按照更改时间查找,
-mtime		根据修改修改(modify)时间查找,最常用
-neme		根据名字查找,支持通配符
-perm		根据文件权限查找
-size		根据指定大小查找文件,+表示大于,-表示小于,无表示等于;如+10M,—10M
-path 		配合-prune参数排除指定的目录
-prune       使用find命令不在指定的目录查找
-exec或ok	对匹配的文件执行响应的shell命令
-delete		删除找出的文件
-a / -o      取交集,并集,
-type     	查找某一类型的文件;b-块设备文件;d-目录;c-设备文件;p-管道文件;l-符号链接文件;f-普通文件;s-socket文件;-普通文件

案例:
根据修改时间查找文件
一天以内,被访问过的文件
find . -atime -1
一天以内,内容变化的文件
find . -mtime -1
恰好在七天内被访问的文件,查找最大目录层级为2,类型为文件
 find / -maxdepth 2  -type f -atime -7 
 
find反向查找
[root@localhost ~]# find . -maxdepth 1 -type d
 #在当前目录下查找最大深度为1,文件夹类型的数据,加感叹号表示取反,代表取除了文件夹以外类型的数据
[root@localhost ~]# find . -maxdepth 1 ! -type d 

按照文件大小查找
find . -maxdepth 2 -size +10M #查找超过10M大小的文件

使用-exec或是-ok再次处理,-ok比--exec存在用户提示,更加按照
#找出以.txt结尾的文件后执行删除动作且提示确认
[root@localhost test]# find /test/ -type f -name "*.txt" -ok rm {} \;
< rm ... /test/file.txt > ? y
< rm ... /test/test.txt > ? y

-exec跟着shell命令,结尾必须以“;”分号结束,考虑系统差异,加上转义符 “\” ;{}作用是替代find查阅到的结果,{}前后必须有空格

[root@localhost test]# touch  {1..3}.txt
[root@localhost test]# ls
1.txt  2  2.txt  3.txt  ens33
[root@localhost test]# find /test/ -type f -name "*.txt" -exec  rm {} \;
[root@localhost test]# ls
2  ens33

#找到目录中所有.txt 文件,且将查询结果写入到all.txt文件中
 find ./ -type  f -name "*.txt" -exec cat {} \; > all.txt
 
#把30天以前的日志,移动到/log 文件中
find . -type f -mtime +30 -name "*.log" -exec cp {} /log \;

file

显示文件的类型

参数:
-b 列出辨识结果,不显示文件名称
-z 尝试取解读压缩文件的内容

which

查找PATH环境变量中的文件

例如:
[root@localhost test]# which vim
/usr/bin/vim

whereis

用来定位指令的二进制程序,源代码文件和man手册页等相关文件的路径

参数:
-b 只查找二进制文件

例如:
[root@localhost test]# whereis cd
cd: /usr/bin/cd /usr/share/man/man1/cd.1.gz /usr/share/man/mann/cd.n.gz
[root@localhost test]# whereis -b cd 
cd: /usr/bin/cd

tar

对多个文件进行压缩,打包,解包

参数:
-c 建立新的备份文件
-C 指定目录解压缩
-x 从备份文件中还原文件
-t 列出备份文件的内容
-z 通过gzip指令处理备份文件
-f 指定备份文件,-f参数必须放到最后
-v 显示指令执行过程
-r 添加文件到已经压缩的文件
-u 仅追加比归档中副本更新的文件
-k 保留源文件不覆盖
-p 用原来的文件权限还原文件
-P 文件名称使用绝对路径,不移除文件名称前的“/”;不推荐使用
--exclude 排除符号范本样式的文件
-h 跟踪符号链接,将他们所指向的文件归档并输出; 
-h 参数能够保证,打包的不仅仅是个快捷方式,而是找到源文件

案例:
仅打包不压缩
tar -cvf all.tar ./*

打包且用gzip压缩,节省磁盘空间
tar -czvf all.tar.gz ./*

拆开tar包
tar -xf all.tar

拆开tar压缩包到指定目录
tar -xzvf all.tar.gz -C /opt/

列出tar.gz包有什么内容
[root@localhost test]# tar -tzvf all.tar.gz 
-rw-r--r-- root/root         0 2021-02-06 23:42 ./1.txt
-rw-r--r-- root/root         0 2021-02-06 23:42 ./2.txt
-rw-r--r-- root/root         0 2021-02-06 23:42 ./3.txt
lrwxrwxrwx root/root         0 2021-02-06 23:36 ./d -> /dw/
[root@localhost test]# tar -xzvf all.tar.gz ./d
./d
[root@localhost test]# ls
all.tar.gz  d

排除文件解压缩
[root@localhost test]# tar -xzvf all.tar.gz --exclude d
./1.txt
./2.txt
./3.txt
[root@localhost test]# ls
1.txt  2.txt  3.txt  all.tar.gz

压缩快捷方式的源文件,而不是压缩快捷方式
[root@localhost test]# tar -czf d.tar.gz d
[root@localhost test]# tar -tvzf d.tar.gz d
lrwxrwxrwx root/root         0 2021-02-06 23:36 d -> /dw/
[root@localhost test]# tar -czhf d.tar.gz d
[root@localhost test]# tar -tvzf d.tar.gz d
drwxr-xr-x root/root         0 2021-02-06 23:14 d/
-rw-r--r-- root/root         0 2021-02-06 23:14 d/1
-rw-r--r-- root/root         0 2021-02-06 23:14 d/2
-rw-r--r-- root/root         0 2021-02-06 23:14 d/3

gzip

用来压缩文件,gzip压缩解压都会删除源文件

参数:
-l 列出压缩文件的相关信息
-q 不显示经过信息
-r 递归处理,将指定目录下的所有文件及子目录一并处理
-t 测试压缩文件是否正确无误
-v 显示指令执行过程
-<压缩效率>,一个介于1-9之间的数值,预设值为6,指定数值越大压缩效率越高
--best 此参数效果和指定“-9” 参数相同
--fast 此参数效果和指定“-1”参数相同
-c 保留原始文件,生成标准输出流()接哼重定向使用
#gzip 无法压缩文件夹,必须先tar对文件夹打包后,才可以gzip压缩

案例:
压缩文件
[root@localhost test]# gzip *
解压缩文件
[root@localhost test]# gzip -d *

zip&&unzip

zip是一个应用广泛的跨平台压缩工具,压缩文件的后缀为zip文件,还可以压缩文件夹
unzip用于解压zip格式的文件;centos7需要安装:yum install -y unzip zip

参数:
-r 递归处理
-m  压缩完毕后,删除源文件
-S 包含系统和隐藏文件
-q 不显示指令执行过程
-<压缩效率>,一个介于1-9之间的数值

案例:
压缩
zip -q all.zip ./* 

解压缩
 unzip all.zip 

date

用于显示当前系统时间,或者修改系统时间

常用案例:
显示:
[root@localhost test]# date
Sun Feb  7 00:20:47 CST 2021
[root@localhost test]# date +%F
2021-02-07
[root@localhost test]# date "+%F %T"
2021-02-07 00:21:18

修改:只有root权限才能设置
[root@localhost test]# date -s 20080808
Fri Aug  8 00:00:00 CST 2008
[root@localhost test]# date
Fri Aug  8 00:00:06 CST 2008
[root@localhost test]# date -s "20210206 23:24:36"
Sat Feb  6 23:24:36 CST 2021
[root@localhost test]# date -s "2021-02-06 23:24:36"
Sat Feb  6 23:24:36 CST 2021

shred

多次覆盖文件,使得即使是昂贵的硬件探测仪页难以将数据复原

案例:
随机覆盖文件内容,不删除源文件
 shred 1.txt 

彻底粉碎且删除文件
shred -u 1.txt

centos7启动流程

BIOS初始化,开始post开机自检 --检查硬件是否正常
加载mbr到内存
grub引导
加载内核
启动systemd进程
读取/etc/inittab文件
执行/etc/rc.d/rc.sysinit程序
执行/bin/login,等待用户登录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux运维基础--常见命令 的相关文章

  • 无法使用 Java ProcessBuilder 启动带参数的 shell 脚本

    我正在尝试使用 ProcessBuilder 执行带有命令行参数的 shell 脚本 该 shell 脚本又调用使用此参数的其他两个 shell 脚本 第一个 shell 脚本运行良好 但当第二个 shell 脚本启动时 它返回退出代码 1
  • 在 UNIX 中删除相同的文件

    我正在处理大量 30 000 个 大小约为 10MB 的文件 其中一些 我估计 2 实际上是重复的 我只需要为每个重复的对 或三元组 保留一个副本 您能建议我一种有效的方法吗 我正在unix上工作 您可以尝试使用此代码片段在删除之前先获取所
  • GNU 并行与 rsync

    我正在尝试运行一些实例rsync并行使用ssh with GNU parallel 我正在运行的命令是这样的 find tmp tempfolder type f name chunck sort parallel gnu j 4 v ss
  • Bash 参数引号和 eval

    我编写了一个 bash 日志记录库 用我公司当前正在使用的一些复杂脚本来实现 在进行日志调用时 我一直致力于提供调用脚本的脚本文件名 BASH SOURCE 和行号 LINENO 但是 我不想依赖用户或实现脚本来将这两个变量作为参数传递 如
  • 如果未设置,则从控制台读取 Makefile 变量

    我正在更新一个从外部源访问某些资源的 Makefile 即存在以下形式的规则 External cvs up 对于不受限制的资源 它可以按预期工作 现在 出现了功能漂移 外部资源需要更复杂的登录 因此规则已更改为与此没有太大不同的内容 Ex
  • adb shell:无法使用 ESCAPE 键

    I want to use vi when running adb shell Starting vi is easy However I found that the ESC key doesn t seem to get through
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 比较linux中的两个未排序列表,列出第二个文件中的唯一项

    我有 2 个包含号码列表 电话号码 的文件 我正在寻找一种列出第二个文件中第一个文件中不存在的数字的方法 我尝试过各种方法 comm getting some weird sorting errors fgrep v x f second
  • PHP exec rm -Rf 不适用于子目录

    我试图删除特定文件夹中的所有内容 但它似乎不会影响子文件夹 但它应该 因为 bash 命令是从控制台执行的 system rm Rf some dir 该命令中不需要星号 如果要与文件一起删除目录 请同时删除斜杠 留下斜杠将删除文件 但保留
  • #*/ 在 UNIX Shell 脚本中使用

    谁能详细说明 在 UNIX Shell 脚本中的工作原理 我已经看到它在 Korn Shell 中的使用 它专门用于删除文件的扩展名 例如 func write app log o 删除状态文件 CIE STATUS FILE 这里假设文件
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec
  • 将变量插入 sh 脚本命令[重复]

    这个问题在这里已经有答案了 bin sh f set proj dir OutputDir for projname in lib proj1 proj2 do mv scripts projname BYTECODE proj dir s
  • tcsh 脚本 if 语句

    我需要循环遍历一堆不同的场景 变量场景 但无法弄清楚如何在 tcsh shell 脚本中使用 if 语句 收到错误 if 表达式语法 有人可以告诉我我有什么问题吗 简化代码如下 谢谢 bin tcsh f set val 0 foreach
  • 在 shell/shell 脚本中设置 MongoDB 写关注

    我正在尝试填充一个集合MongoDB的壳 据我了解 使用轻松的Write Concern可以大大加快这个过程 我说的是文档 http docs mongodb org manual core write concern write oper
  • AJAX 进度条 - 轮询、Comet?

    我想要一些关于如何实施以下内容的建议 我想让我的用户通过 AJAX 了解在我的服务器上运行的任务的进度 我的服务器运行一个 PHP 脚本 该脚本使用 popen 函数通过 shell 命令下载文件 它定期回显 打印正在发生的事情 我想使用
  • Bash 目录上的 For 循环

    快速背景 ls src file1 file2 dir1 dir2 dir3 Script bin bash for i in src do if d i then echo i fi done Output src dir1 src di
  • shell脚本中是否有互斥/信号量机制?

    我正在 shell 脚本中寻找互斥 信号量 并发机制 考虑以下情况 除非 a 用户不关闭共享文件 否则 b 用户应该无法打开 更新它 我只是想知道如何在 shell 脚本中实现互斥量 信号量 临界区等 在 shell 脚本中实现锁定机制 文
  • 如何从命令行执行 PHP 代码?

    我想执行单个 PHP 语句 例如if function exists my func echo function exists 直接使用命令行 无需使用单独的 PHP 文件 这怎么可能 如果您要在命令行中执行 PHP 我建议您安装phpsh
  • Bash shell 读取错误:0:资源暂时不可用

    编写 bash 脚本时 有时你运行的命令会打开另一个程序 例如 npm composer 等 但同时你需要使用read以提示用户 你不可避免地会遇到这种错误 read read error 0 Resource temporarily un
  • 有没有办法改变vim的默认模式

    有谁知道如何更改vim的默认模式 它的默认模式是命令模式 但是我可以将其更改为插入模式吗 只需将以下行添加到您的 vimrc 中 start Vim s default mode will be changed to Insert mode

随机推荐

  • webpack打包vue反编译_前端性能优化——webpack篇

    相信每个用过webpack的同学都对 打包 和 压缩 这样的事情烂熟于心 这些老生常谈的特性 我更推荐大家去阅读文档 本文将把注意力放在webpack的性能优化上 一 提高构建速度 1 给 loader 减轻负担 用 include 或 e
  • 智能电子界桩自然保护区远程监控解决方案

    一 方案背景 自然保护地是生态建设的核心载体 中华民族的宝贵财富 美丽中国的重要象征 在维护国家生态安全中居于重要地位 经过多年的努力 我国已建立数量众多 类型丰富 功能多样的各级各类自然保护地 在保护生物多样性 保存自然遗产 改善生态环境
  • ajax从服务器读数据,本地网页不刷新

    function ajax url fnSucc fnFild 1 创建对象 var oAjax null if window XMLHttpRequest oAjax new XMLHttpRequest else oAjax new A
  • SQL——DML语句

    DML Data Manipulation Language 一 数据的插入 语法 单行插入 INSERT INTO 表名 字段名1 字段名2 values 值1 值2 多行插入 INSERT INTO 表名 字段名1 字段名2 value
  • 数据库之--count/distinct/group by的用法总结

    一 count distinct group by的用法 1 count 函数是用来统计表中记录的一个函数 返回匹配条件的行数 不去重 2 count 语法 1 count 包括所有列 返回表中的记录数 相当于统计表的行数 在统计结果的时候
  • 已解决cython_bbox安装出现的问题

    为了跑FairMOT代码 配置环境时遇到了该问题 我已经安装了cython 然后下载了压缩包 解压后打开cython bbox 0 1 3文件夹 打开文件setup py 将extra compile args Wno cpp 修改为ext
  • python-sqlalchemy中设置autocommit

    这个只需要在连接数据库的时候加上即可 SQLALCHEMY DATABASE URI mysql pymysql username passwrod ip prot database charset utf8 autocommit true
  • Linux查看日志命令,压缩日志不解压直接查看

    日常工作中经常要在linux服务器上查看日志定位问题 本文简单总结下常用查看日志的命令 监控日志命令 tail f file log tailf file log 上一个命令的快捷键 但是有些系统默认没有 查看日志命令 这个命令其实也可以查
  • 数学建模 优质的信息检索渠道和工具

    文章目录 一 前言 二 主要内容 三 总结 CSDN 叶庭云 https yetingyun blog csdn net 一 前言 优质的信息检索渠道和工具对数学建模比赛获奖有着重要的影响 以下是从理论上分析这一影响的几个主要方面 知识获取
  • vs 2019输出中文乱码解决

    参考 http t csdn cn YDG6B
  • 股市中的内盘、外盘、跌幅、震幅、现手、总手、换手是什么意思?

    外盘即买盘 内盘即卖盘 内盘即卖盘要卖掉 有人买就以这个成交价设为买入价 外盘即买盘要买进 有人卖就以这个成交价设为卖出价 总手就是成交量 1个交易日的买卖总量 即等于外盘 内盘 成交量 总手 量比 在查看分时走势图时候 可根据右键菜单选择
  • hadoop3.0.3搭建与入门(添加删除;调度-节点)

    hadoop版本 apache cloudera CDH版 Hortonworks HDP版 国内对CDH用的多 一般用3 0 单机版 scp hadoop 3 0 3 tar gz jdk 8u181 linux x64 tar gz s
  • 递归算法(二分查找)

    递归也算循环的一种 递归 你打开面前这扇门 看到屋里面还有一扇门 你走过去 发现手中的钥匙还可以打开它 你推开门 发现里面还有一扇门 你继续打开它 若干次之后 你打开面前的门后 发现只有一间屋子 没有门了 然后 你开始原路返回 每走回一间屋
  • RNN循环神经网络的Matlab模拟和训练

    RNN循环神经网络的Matlab模拟和训练 循环神经网络 RNN 是一种适用于序列数据的神经网络 RNN 在处理时间序列数据方面非常适用 如自然语言处理 股票价格预测等 本文将介绍如何使用 Matlab 来进行 RNN 的模拟和训练 在 M
  • 大O表示法及旅行者问题

    算法的运行时间 运行时间增速 不同算法随规模的增大而增大的速度不同 我们需要比较不同算法的运行时间的增速 大O表示法 类比数据结构中的时间复杂度 比较操作数 其体现了算法运行时间的增速 这种表示法体现了算法在最糟情况下的运行时间 这不就是时
  • 全新升级!讯飞星火认知大模型V2.0,你准备好了吗?

    前言 AI大模型正在全球掀起新一轮的技术革命与商业浪潮 从技术突破到应用落地 加速改变着我们的生活与产业 依托通用人工智能领域的持续深耕和系统性创新 科大讯飞于5月6日正式发布星火认知大模型 并于6月9日迅速完成迭代升级 受到用户持续好评
  • 软件测试环境的搭建

    前言 测试环境是QA开展测试工作的前置条件 稳定和可控的测试环境 可以使测试人员在执行测试用例时无需花费额外的时间去维护 有些公司运维或者研发部门会帮忙准备好测试环境 但是QA如果一味依赖其他部门 会局限测试工作的开展 一 什么是测试环境
  • 【PASS】析因设计样本量计算

    b站视频 working
  • 软件设计和硬件开发 部分学习网站

    1 单片机教程网 http www 51hei com 2 博客园 https www cnblogs com 3 各种程序语言基础知识 https www runoob com cprogramming c scope rules htm
  • Linux运维基础--常见命令

    Linux运维基础 常见命令 linux的发行版本介绍 Linux 内核 kernel 版本主要有 4 个系列 分别为 Linux kernel 2 2 Linux kernel 2 4 Linux kernel 2 6 Linux ker