面试中和工作中常用的linux命令

2022-11-14 14:12:47 浏览数 (1)


find|grep|ssh|文件传输scp|sz|清屏|创建链接|查看端口占用情况| 管道|重定向|sed|统计代码行|md5sum|解压乱码问题|

find查找文件

代码语言:javascript复制
一.find命令
 基本格式:find  path expression
 1.按照文件名查找
  *(1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
  (2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
  (3)find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
  (4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件
 2.按照文件特征查找     
  (1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
  (2)find / -atime -2   # 查找在系统中最后48小时访问的文件
  (3)find / -empty   # 查找在系统中为空的文件或者文件夹
  (4)find / -group cat   # 查找在系统中属于 group为cat的文件
  (5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
  (6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
  (7)find / -user fred   #查找在系统中属于fred这个用户的文件
  (8)find / -size  10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
  (9)find / -size -1000k   #查找出小于1000KB的文件
 3.使用混合查找方式查找文件
  参数有: !,-and(-a),-or(-o)。
  (1)find /tmp -size  10000c -and -mtime  2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
    (2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
    (3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件

grep内容查找

代码语言:javascript复制
二、grep命令
  基本格式:grep  expression
 1.主要参数
  [options]主要参数:
  -c:只输出匹配行的计数。
  -i:不区分大小写
  -h:查询多文件时不显示文件名。
  -l:查询多文件时只输出包含匹配字符的文件名。
  -n:显示匹配行及行号。
  -s:不显示不存在或无匹配文本的错误信息。
  -v:显示不包含匹配文本的所有行。

  pattern正则表达式主要参数:
  : 忽略正则表达式中特殊字符的原有含义。
  ^:匹配正则表达式的开始行。
  $: 匹配正则表达式的结束行。
  <:从匹配正则表达 式的行开始。
  >:到匹配正则表达式的行结束。
  [ ]:单个字符,如[A]即A符合要求 。
  [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
  .:所有的单个字符。
  * :有字符,长度可以为0。
 2.实例  
  (1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行
  (2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
  (3)grep ‘[a-z]{5}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
  (4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
  *(5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行
  (6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

查看网络设置

代码语言:javascript复制
ifconfig

设置ssh

代码语言:javascript复制
安装openssh-server。使用命令:
# apt-get install openssh-server
vim /etc/ssh/sshd_config 
将#PasswordAuthentication yes前的注释符#去掉 
将#PermitRootLogin prohibit-password前的注释符#去掉,将prohibit-password改为yes 
执行service ssh start启动ssh服务 
将其设置为开机启动 
编辑vim /etc/rc.local 
在exit 0前一行添加 
/etc/init.d/ssh start

[安装ssh][https://blog.csdn.net/java_dotar_01/article/details/76942563]

使用ssh链接远程主机

代码语言:javascript复制
ssh root@192.168.1.11

文件传输

代码语言:javascript复制
本地>>>远程
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music 
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 
scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ 

远程>>>本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/

如果远程服务器防火墙有为scp命令设置了指定的端口,需要使用 -P 参数来设置命令的端口号,格式如下:
#scp 使用端口 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用。

sz命令

在linux之间传输文件使用scp就行了 如果是在windows下使用xshell控制linux时:

代码语言:javascript复制
上传文件直接到那个目录,然后把文件拖进去就可以
从linux下载文件时,
sz test.txt 然后再选择本地存储目录就可以。

清屏

代码语言:javascript复制
clear
或者ctrl l

创建链接

代码语言:javascript复制
ln -s 源目录或文件 目标快捷方式
-s表示创建符号链接
-------------------------------
符号链接的源可以是目录或文件
硬链接一般只能是文件
-------------------------------
硬链接:可以看做一个指针,指向源文件.硬链接与源文件是一个文件.
	只要某文件有一个硬链接,该文件就不会真正的物理的删除.
	所以,给一个文件创建硬链接之后,把源文件删除,硬链接还表示源文件,可以正常用.
符号链接(软链接):是另外一个文件,相当于windows下的快捷方式.
	产出源文件之后,创建的符号链接就没法用了.

查看端口占用

代码语言:javascript复制
netstat -anp | grep 1080 #打印占用1080端口的进程以及PID
kill -9 PID #关闭那个进程
	-9 强制结束
	-3 ctrl c时向进程发送这个信号,程序收到这个信号会结束.

管道 重定向

代码语言:javascript复制
> 写入到新文件 
>> 追加到新文件
| 将上一个程序的输出作为下一个程序的输入,并且两者是同时进行的,不是等到第一个完全输出之后再输入到第二个程序。

sed文本处理

代码语言:javascript复制
nl /etc/passwd | sed '2d'   #删除第二行
nl /etc/passwd | sed '3,$d'  #删除3到最后一行

sed -e 4anewline testfile #使用sed 在第四行后添加新字符串  

nl /etc/passwd | sed '2,5d'     #nl列出文件内容并带行号(不算空格行)
1 root:x:0:0:root:/root:/bin/bash
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
.....(后面省略).....

统计当前目录代码行数

代码语言:javascript复制
find . -name "*"  -print | xargs wc -l

md5计算

代码语言:javascript复制
md5sum test.txt
2435345254......3422423 test.txt

解压windows文件乱码问题

代码语言:javascript复制
通过unzip行命令解压,指定字符集
unzip -O CP936 xxx.zip

参考

  • https://www.runoob.com/linux/linux-comm-sed.html

欢迎与我分享你的看法。 转载请注明出处:http://taowusheng.cn/

0 人点赞