博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 学习笔记
阅读量:2391 次
发布时间:2019-05-10

本文共 5055 字,大约阅读时间需要 16 分钟。

系统

# 查看系统启动时间uptime

文件管理

# 文件的压缩zip -r xxx.zip ./ytx-trade

文件的读写权限查看,命令

ll -a

输出结果示例:

total 2404136drwxr-xr-x  27 chenlushun  staff   864B 12  2 14:17 .drwxr-xr-x+ 77 chenlushun  staff   2.4K  2 21 13:27 ..-rw-r--r--@  1 chenlushun  staff   6.0K 11 13 23:58 .DS_Store-rwxrwxrwx@  1 chenlushun  staff    65M  8 30 17:53 evernote_6.0.8.1427683684.dmg-rwxrwxrwx@  1 chenlushun  staff    61M  9 22 07:07 googlechrome_mac_60.0.3112.101.dmg-rwxrwxrwx   1 chenlushun  staff    43M 11 13 23:08 gradle-2.14.1-bin.zipdrwxr-xr-x  12 chenlushun  staff   384B 11  8 09:04 gradle-4.3.1-rwxrwxrwx@  1 chenlushun  staff    92M 11 13 22:05 gradle-4.3.1-all.zipdrwxr-xr-x@ 14 chenlushun  staff   448B  7 30  2017 jenkins
  • 第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道
  • 第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。
  • 第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。
  • 第8-10位表示其他用户所具有的权限。如:drwxr-xr-x user1 group1 filename

改变文件权限: chmod

每个文件都定义了文件的拥有者、拥有组、其他人,我们分别用u、g、o来代表。增加权限用+号、删除权限用-号,详细使用权限用=号。

# 改变一个文件目录的权限sudo chmod u=rwx,g=rw,o=rw /home#查看本系统中的shell:cat /etc/shells# 把 zsh 设置成默认的 shell:chsh -s /bin/zsh# 让配置文件生效:source .bash_profile

改变文件的拥有者:chown

chown alex xxx.sh

查找文件 find

假如在系统中查找名称为my.conf的文件

find /  -name my.conf

数据库查找 locate

一般在执行此命令的时候,会先执行下,updatedb

updatedblocate my.conf

查找可执行文件 which/whereis

which用于从系统的PATH变量所定义的目录中查找可执行文件的绝对路径

whereis 不但能找到二进制的可执行文件,还能找到man操作文档

which mvn   # 返回/usr/local/bin/mvnwhereis passwd # 返回/usr/bin/passwd

sed

# 默认不修改原文件,如果想要保存下来,一般通过重定向。# this 替换为osed -e 's/this/o/g' sed.txtsed -e 's/this/o/g' -e 's/is/IS/g' sed.txtsed -e 's/this/o/g' ; 's/is/IS/g' sed.txtdelete one linesed 1d sed.txt# 如果想直接修改原文件使用 -ised -i 1d sed.txtsed 1,3d sed.txt# 清空了文件sed 1,$d sed.txt

远程拷贝

scp -r sh  chenlushun@192.168.10.71:/Users/chenlushun/ok

-r是可选参数

参数说明:

-1: 强制scp命令使用协议ssh1

-2: 强制scp命令使用协议ssh2
-4: 强制scp命令只使用IPv4寻址
-6: 强制scp命令只使用IPv6寻址
-B: 使用批处理模式(传输过程中不询问传输口令或短语)
-C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p:保留原文件的修改时间,访问时间和访问权限。
-q: 不显示传输进度条。
-r: 递归复制整个目录。
-v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port:注意是大写的P, port是指定数据传输用到的端口号
-S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

bash shell的安装

# 命令基本都在这里echo $PATHecho $SHELL# 查看bash版本bash --version# 修改shell,chage,默认修改的是root的,可以制定用户,例如chsh chenlushunchsh shell# type scp

网络管理

DNS设置

DNS是全互联网主机及其IP地址对应关系的数据库。其文件保存在/etc/resolv.conf

cat /etc/resolv.conf

网络检测工具

  • ping
  • host 用来查询DNS记录的,例如
host www.baidu.comwww.baidu.com is an alias for www.a.shifen.com.www.a.shifen.com has address 111.13.100.91www.a.shifen.com has address 111.13.100.92
  • traceroute

进程

进程表示是一次执行过程,它是应用程序的运行实例,是一个动态的过程。或者说进程是操作系统当前的程序。

进程有三种状态,运行态、就绪态、阻塞态

进程的观察 ps、top

ps 参数

参数说明:

参数 说明
aux 显示所有包含其他使用者的进程
➜  bin ps aux  | head -n 2USER               PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMANDchenlushun         937   4.8  1.2  6033556  99292   ??  S    三07上午  17:19.52 /Users/chenlushun/Applications/iTerm.app/Contents/MacOS/iTerm2

参数说明

USER 进程拥有者
PID pid
%CPU 占用cpu的使用率
%MEM 占用内存的使用率
VSZ 占用虚拟内存的大小
RSS 占用内存的大小
TT
STAT 进程状态,D不可中断、R运行中、S休眠、T暂停、Z僵尸进程、W没有足够的内存可以分配、< 高优先级的行程、N低优先级的行程
STARTED 进程开始时间
TIME 累计使用CPU的时间
COMMAND 执行的命令

lsof -i:8080 查看端口号

touch run.sh//
top:提供了实时的系统状态监控、可以根据CPU使用、内存使用、执行时间等指标对进程进行排序

进程的终止 kill 、killall

kill [信号代码] 进程ID

vi和vim编辑器

vim分为以下三种模式,分别是命令模式、输入模式、底线命令模式

更多命令可参考:

man vim

三个模式之间切换方式:

  • i 切换到输入模式,以输入字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

命令模式

快捷键 描述
double D 删除一行

输入模式

底线命令模式

命令 示例 描述
set number 或者 set nu :set number 显示行号
set nonumber 或者 set nonu :set nonumber 关闭行号
:w [filename] :w ok.sh 将编辑的数据储存成另一个档案(类似另存新档)

mac环境下一些快捷键

快捷键 描述
control+f 向下移动一屏
control+d 向下移动半屏
control+b 向上移动半屏
control+u 向上移动半屏
$ 光标移动到末尾(shift+4)
0 光标移动到开始
gg 光标移动到文档开始位置
G 大写G,移动到文档结尾

control+v 复制多行,d 删除,y复制,p粘贴

正则表达式

# . *不包含换行的字符grep 'r..t' /etc/passwdgrep 'r.*t' /etc/passwd# 只能匹配包含2个o的rep 'ro\{2\}t' /etc/passwd # 至少两次以上grep 'ro\{2,\}t' /etc/passwd # 匹配o  n-m次grep 'ro\{n,m\}t' /etc/passwd # 匹配_k开头的行grep '^_k' /etc/passwd # 匹配false结尾的行grep 'false$' /etc/passwd# 匹配一个电话号码grep '^1[38][0-9]\{9\}'   mobile.txt  grep '[0-9]\{4\}[ -][0-9]\{8\}'   mobile.txt #0571-88888888   0571 88888888# 边界匹配echo 'hello' |grep '\
' # mac与linux有所却别echo '123' |grep -P '\d' # 精确匹配单词helloecho 'hello, world !' |grep '\bhello\b' echo 'helloworld !' |grep 'hello\B'# \w 匹配字母、数字、下划线 equals [A-Za-Z0-9]# \W 匹配非字母、非数字、非下划线 equals [^A-Za-Z0-9]echo 'root' |egrep 'ro+t' echo 'rot' |egrep 'ro?t' 只能匹配0次或者1次ll -l {deploy_shoppingcart,deploy_web}.shll -l [0-9].sh# 通配符 * ?{}# ^、! [^A]、[!A]取反操作grep -i This english.txt#统计不含This的行数,不区分大小写grep -ivc This english.txt

小提示:正则表达式通常用在文件内容的匹配上,通配符主要用在文件名的匹配上

Linux中的一些小技巧

  • Linux输入命令时,自动匹配历史命令, windows下快捷键是:ctrl+R,mac快捷键:control + R
  • B主机免密登陆A主机,B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里
ssh localhost# If you cannot ssh to localhost without a passphrase, execute the following commands:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyschmod 0600 ~/.ssh/authorized_keys

转载地址:http://aqqab.baihongyu.com/

你可能感兴趣的文章
关于虚拟目录继承根Web.Config的问题解决办法
查看>>
java基础| 多线程基础三:CAS原理和原子操作
查看>>
java基础| 多线程基础四:显示锁详解
查看>>
java基础| 多线程基础五:AQS详解
查看>>
java基础| 多线程基础六:Condition接口分析和ThreadLocal类解析
查看>>
java基础| 多线程基础七:JUC工具包中的工具类
查看>>
java基础| 多线程基础八:线程池及使用
查看>>
Centos7| 远程连接vncserver时输入账户密码后闪退
查看>>
java源码| HashMap源码分析
查看>>
JVM基础一| java se体系结构及jvm概述
查看>>
前端| js动态修改video标签视频不刷新的问题
查看>>
JVM基础二| 深入理解JVM内存对象
查看>>
IDEA| centos Unable to open debugger port(127.0.0.1:60157) socket closed
查看>>
JVM基础三| 深入理解垃圾回收及算法
查看>>
JVM基础四| 深入理解JVM执行子系统
查看>>
代码实现| springboot+mybatis+PageHelper实现Mysql数据分页
查看>>
代码规范| 面向对象六大基本原则
查看>>
IDEA| Error resolving template [index], template might not exist or might not be accessible by any
查看>>
力扣题解| 169. 多数元素
查看>>
力扣题解| 999. 可以被一步捕获的棋子数
查看>>