前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面试中和工作中常用的linux命令

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

作者头像
yifei_
发布2022-11-14 14:12:47
3870
发布2022-11-14 14:12:47
举报
文章被收录于专栏:yifei的专栏

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 4a\newline 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

参考

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • find查找文件
  • grep内容查找
  • 查看网络设置
  • 设置ssh
  • 使用ssh链接远程主机
  • 文件传输
  • sz命令
  • 清屏
  • 创建链接
  • 查看端口占用
  • 管道 重定向
  • sed文本处理
  • 统计当前目录代码行数
  • md5计算
  • 解压windows文件乱码问题
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档