命令格式
[root@localhost~] root 管理员 localhost 主机名 ~ 用户的目录 $ 为普通用户 # root用户
1、命令 [选项] [参数] 选项可简化 -a 等于 --all
2、Linux中 .xxx文件 是隐藏文件
3、命令补全: 输入一个开头字母,按Tab会将当前目录下所有的相关文件显示
4、sudo 使用超级使用者权限
nginx 目录: /usr/local/openresty/nginx 9092
启动 sudo /usr/local/openresty/nginx/sbin/nginx
重启 /usr/local/openresty/nginx/sbin/nginx -s reload
常用命令
使用 SecureCRT 工具
1、exit 或 logout 退出登录
2、文件上传和下载 到服务器
$ sz 要下载的文件或目录 在secureCRT中设置 options -> session options -> x/z/zmodem 中设置的下载目录
$ rz 上传的文件 上传相同名文件,不会被替换,不能上传目录,可以直接发压缩gzip包在传
3、查看日志 使用tail 或 cat来查看文件内容
$ tail -fn 显示行数 服务器的日志文件
tail -fn 100 /opt/server/apache-tomcat-6.0.41_8084/logs/catalina.2016-01-21.log 56服务器8084端口
4、解决secureCRT 中文编码问题
options -> session options -> terminal 下的 appearance 将 character encodeing 改成 utf-8
5、清理服务器缓存
进入到apache-tomcat服务中的works中清楚loaclhost目录
$ cd /opt/server/apache-tomcat-6.0.41_8084/works/Catalina
$ rm -rf localhost
8084:网站 apache-tomcat-6.0.41_8084
8086:H5 apache-tomcat-7.0.47_8086
6、open 打开目录
7、clear 清除当前屏 cmd+k 清除所有
8、tree 打印出目录树
mac下没有tree命令,需要安装 brew install tree
$ tree -a 显示所有的文件和目录
$ tree -L 1 -a 只显示一个层级的目录和文件(包括隐藏文件)
$ tree -L 1 -d
文件权限
-rw-r--r--@ 1 apple staff 8196 5 15 19:26 .gitignore.js
一、文件类型 -rw-r--r--
rw- u所有者 r-- g所属组 r-- o其它人
r 读 w 写 x 执行
二、目录类型 drwxr-xr-x
开头第一个字符
1、- 文件 如果第一个符号为'-'就是一个普通文件
2、d 目录
3、l 软链接文件
三、查目录权限
$ cd /
$ ls -l 显示根目录所的权限
四、chown设置目录权限
1、命令格式:
chown [选项]... [所有者][:[组]] 文件...
$ sudo chown apple:admin /data/db
2.命令功能:
通过chown改变文件的拥有者和群组。在更改文件的所有者或所属群组时,可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为管理员。
3.命令参数:
-c 显示更改的部分的信息
-f 忽略错误信息
-h 修复符号链接
-R 处理指定目录以及其子目录下的所有文件
-v 显示详细的处理信息
-deference 作用于符号链接的指向,而不是链接文件本身
选择参数:
--reference=<目录或文件> 把指定的目录/文件作为参考,把操作的文件/目录设置成参考文件/目录相同拥有者和群组
--from=<当前用户:当前群组> 只有当前用户和群组跟指定的用户和群组相同时才进行改变
--help 显示帮助信息
--version 显示版本信息
目录处理
1、cd 切换到指定目录
cd 与 cd ~ 回到apple目录, 也就是 /Users/apple
cd - 回到上次操作所在的目录
cd .. 进入到上一级目录
2、mkdir [-p] dirname 创建目录
-p 递归创建 mkdir -p parent/child 可以直接创建多个目录,如果不加就只能创建一个目录
3、pwd 显示当前路径
4、rm 删除文件或目录 rm -rf [文件或目录]
-r 递归删除文件夹 -f 强制
5、cp 复制目录或文件 cp [选项][原文件或目录][目标目录]
-r 递归复制文件夹
-p 连带文件属性复制 一些类似文件创建日期等
-d 如果源文件是链接文件,则复制链接属性
-a 相当于 -pdr
6、mv 移动目录或文件 mv [源文件或目录] [目标目录]
mv dir1 dir2 将文件或目录移动到指定目录中
mv a.js b.js 修改文件或目录名
文件处理
1、touch .gitignore 创建文件
2、ls 显示文件
# 显示详细列表
# ls -l 显示详细信息 ll 是ls -l的简写
#
$ ls -a 显示所有文件,包含隐藏文件(以. 起头的文件名)
$
$ ls -f 显示文件(后跟*)和目录(后跟/)
SG:Linux siguang.liu$ ls -al
total 128
文件属性 文件数 拥有者 所属者group 文件大小 建档日期 文件名
drwxr-xr-x 5 siguang.liu staff 160 11:01 ..
drwxr-xr-x 1 siguang.liu staff 192 2016 Linux基本操作命令.doc
3、cat 查看文件内容
cat package.json
4、echo 输出内容
5、ln 文件名 将文件的内容输出带行号
$ ln package.json
6、wc 文件名 统计指定文件中的字节数、字数、行数,并将统计结果显示输出
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
文件搜索
一、find [搜索范围] [搜索条件] 避免大范围搜索,耗费系统资源
通配符: * 匹配任意内容 ? 匹配任意一个字符 [] 匹配任意一个中括号内的字符
$ find / -name person.js 从根目录开始搜索person.js文件
1、-name 搜索文件名
2、-iname 搜索的文件名不区分大小写
3、-user 按所有者文件
4、-nouser 没有所有者文件
按时间搜索 $ find /var/log/ -mtime +10 搜索10天前修改的文件 +10 十天前 10 十天当天修改 -10 十天内修改文件
5、-mtime 修改文件内容
6、-atime 文件访问时间
7、-ctime 改变文件属性
按文件大小搜索 $ find . -size 25k 查找文件大小是25K的文件 -25k 小于25k +25k 大于25k 25k 等于25k
注意: M 是大写 k 用小写
8、-size 查找文件大小
9、-inum 通过 i 节点个数来查看 ls -i 查看当前目录下的文件带id 29560848 Bluetooth 31587257 opendirectoryd.log.0 31745680 system.log.4.gz
find /var/log/ -inum 29560848 // 返回 Bluetooth
逻辑运算符 -a 逻辑与 -o 逻辑或
example find /var/log -size +20K -a -size -50K 查找大于20K并小于50K
10、-exec ... {} \; 将搜索的内容交给第二条命令来处理
find /var/log -size +20k -a -size -500M -exec ls -l -a {} \;
二、grep 在文件中匹配符合条件的字符串 grep [选项] 字符串 文件名
-i 忽略大小写
-v 排除指定字符串
$ grep -i 丝绸之路 package.json
三、whereis 和 which 搜索系统命令
whereis vim // 输出 /usr/bin/vim 可以
which 指令会在环境变量$PATH设置的目录里查找符合条件的文件。
which mongod // 返回当前mongod命令所在的目录 /usr/local/bin/mongod
四、locate 文件名 在后台数据库中按文件名搜索,搜索速度快
locate不是在文件中搜索,而是在 /var/lib/mlocat 只在后台数据库搜索
updatedb 更新数据库
ln 链接命令 ln -s [原文件或目录] [目录文件]
硬链接: 硬链接看做是文件或目录的副本,两个i节点和存储,可以看成是同一个文件
软链接: 软连接看做是文件或目录的快捷方式
选项:
-s 创建软链接
注意软链接要写绝对路径 ln -s /Users/apple/siguang.liu/linux/catalogB /Users/apple/siguang.liu/linux/lnDir
appledeMacBook-Pro-2:lnDir apple$ ls -il
31874703 lrwxr-xr-x 1 apple staff 39 5 16 18:54 catalogB -> /Users/apple/siguang.liu/linux/catalogB 这种 -> 就是指的软链接 或者 lrwxr第一个类型为『l』
删除软连接就去目标目录直接把软链接的目录直接删掉
压缩文件、目录
一、zip压缩文件、目录
1、压缩文件 zip 压缩文件名 源文件 // 注意这里压缩zip,原文件不会被删除,而gzip会删除源文件
2、压缩目录 zip -r 压缩文件名.zip 要压缩的目录 // 最好先进入要指定压缩的目录,如果写成a/b/c,这样就会将所有目录一层一层压缩,如果要压缩的目录在aa下面,而且你当前就在aa目录下面不用从指定根目录,否则解压后会一层一层的
3、解压缩 unzip 解压的文件
二、gzip压缩
压缩后的扩展为 .gz
1、gzip 源文件 压缩为.gz文件,源文件会消失
2、gzip -c 源文件 > 压缩 文件 压缩为.gz文件,保留源文件
3、gzip -r 目录 压缩目录下所有子文件,但不压缩目录
2、gunzip 解压文件名
三、tar压缩目录
通过tar来对目录进行打包,然后通过gzip进行压缩
$ 格式: tar -cvf 打包文件名 源文件
1、打包成 .tar文件
1) tar -cvf 压缩后的目录 要压缩的目录
2) tar -xcvf 打包的文件名
2、打包成 .tar.gz格式
1) tar -zcvf 压缩后的目录 要压缩的目录
2) tar -zxcvf 打包的文件名
-c: 产生.tar打包文件
-v: 显示详细信息
-f: 指定压缩后缀名
-z: 打包同时压缩
3、当包解压到当前目录
tar zxf nginx-1.12.2.tar.gz
进程
所有程序只要运行就会产生一个进程,客户端网页访问服务器就会产生一个进程
一、查看进程
1、ps aux 系统所有进程
ps -ef|grep nginx 查看nginx服务的进程
a 显示所有进程,包括会话引线
u 显示进程的归属用户及内存使用情况
x 显示没有控制终端进程
-l 长格式显示 显示更详细信息
-e 显示所有进程,和-A作用一致
2、pstree [选项]
-p 显示进程PID
-u 显示进程用户
3、top 每3秒查看一下系统的健康,有cpu和内存的数据和所有进程
二、杀死进程
kill -1 进程ID 重启进程
kill -9 进程ID 强制杀死进程
网络
一、curl
https://www.cnblogs.com/duhuo/p/5695256.html
二、ping
环境变量和host的修改
一、host文件
$ vim etc/hosts
二、环境变量、export 设置或显示环境变量 export [-fnp][变量名称]=[变量设置值]
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
$ export 查看环境变量
三、设置环境变量有两种:
1、使用export命令 这种方法只是临时设置,重启终端就
$ export PATH=$PATH:/opt/au1200_rm/build_tools/bin
2、修改profile文件 或者设置到 source ~/.bash_profile
$ vi ~/.profile
export PATH=$PATH:/usr/local/zend/mysql/bin/:/usr/local/zend/bin // 设置$PATH 扩展一下加一下
$ source ~/.profile 立即执行
注意两个环境变量使用 “:”来分割
三、通过环境变量来设置命令快捷键
$ vi ~/.profile
alias ll="ls -a"
alias ..="cd .."
alias ...="cd ../../"
alias ....="cd ../../../"
alias .....="cd ../../../../"
alias ......="cd ../../../../../"
man –help 帮助
一、man ls 查看帮助信息
二、ls --help
系统
一、日期
date 日期时间
cal 显示当前日历
二、关机重启系统
1、shutdown [选项] 时间 来进行重启和关机
shutdown -r now 立即重启 -h 立即关机
shutdown -r 18:00 定时在18点的时候重启
-c: 取消前一个关机命令
-h: 关机
-r: 重启
2、halt 回车 直接关机
3、poweroff 回车 直接关机
4、init 0 回车 直接关机
5、reboot 回车 直接重启
三、查询与自动挂载
1、mount
linux根目录
Linux的目录
根目录下的 bin目录不允许操作, usr下的 sbin目录是可以操作的
/bin 传统unix命令的存放目录,如ls,rm,mv等。
/sbin 传统unix管理类命令存放目录,如fdisk,ifconfig等等。
/tmp 临时文件存放目录,其权限为所有人任意读写。此目录实际为指向/private/tmp的链接。
/usr 第三方程序安装目录。
/usr/bin, /usr/sbin, /usr/lib,其中/usr/lib目录中存放了共享库(动态链接库).
/etc. 标准unix系统配置文件存放目录,如用户密码文件/etc/passwd。此目录实际为指向/private/etc的链接。
/var 存放经常变化的文件,如日志文件。此目录实际为指向/private/var的链接。
OS X系统中,除了标准的unix目录外,还增加了特有的目录。
/Applications 应用程序目录,默认所有的GUI应用程序都安装在这里;
/Library 系统的数据文件、帮助文件、文档等等;
/Network 网络节点存放目录;
/System 他只包含一个名为Library的目录,这个子目录中存放了系统的绝大部分组件,如各种framework,以及内核模块,字体文件等等。
/Users 存放用户的个人资料和配置。每个用户有自己的单独目录。
/Volumes 文件系统挂载点存放目录。
/cores 内核转储文件存放目录。当一个进程崩溃时,如果系统允许则会产生转储文件。
/private 里面的子目录存放了/tmp, /var, /etc等链接目录的目标目录。
/bin是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。
/sbin一般是指超级用户指令。主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
/usr/bin 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。
/usr/sbin 放置一些用户安装的系统管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。
/usr/bin用于分发包管理器(如Ubuntu apt等)存放它所管理的应用的路径, /usr/sbin与/usr/bin的关系类似与/bin和/sbin的关系
/usr/local/bin用于存放用户自己的程序(如自己编译出来的包等),不受分发包管理器的控制。如果用户把自己的程序放在/usr/bin下,则有可能在未来被包管理器给修改或删除了。
vim 编辑器
vi 文件名 或vim 文件名
命令状态:
H 左 L 右 K 上 J 下
0(零) 行首 $(shift+5) 行尾 G(shift+G) 文件尾
i 插入命令
dd 删除当前行 pp 复制并粘贴当前行 x: 删除光标处字符
control+f 后翻页 control+b前翻页
u 取消上次操作)
a,A:追加命令,a 在当前光标后追加,A 在行末追加
o,O:打开命令,o 在当前行下打开一行,O在当前行上插入一行
r,R :替换命令,r 替换当前光标处字符,R从光标处开始替换
数字s: 替换指定数量字符
d0: 删除光标前半行
d$: 删除光标后半行
/string 查找字符串
n 继续查找
N 反向继续查找
% 查找对应括号
ex命令状态
:0 文件首
:1,5 copy 7 块拷贝
:1,5 del 块删除
:1,5 move 7 块移动
:1,$s/string1/string2/g 全文件查找string1并替换为string2
:wq! 存盘退出
保存命令
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
Mac终端下的快捷键
control + A 移到行首
control + E 移到行尾
control + U 清除当前行命令
cmd + L 清除上一次操作的内容
cmd + K 清除所有内容
cmd + option + H 将所有窗口隐藏到应用程序图标
cmd + H 将当前窗口隐藏到图标中
cmd + M 将当前窗口最小化到
cmd + shift + . 显示/隐藏当前文件的隐藏文件
traceroute -n 125.35.51.162 // 查看当前网络访问到这个ip都通过哪些途径
mac 打开iphone界面 iphone与mac连接,打开QuickTime,文件 -> 新建录制影片
修改mac地址
$ ifconfig en0: ether ac:bc:32:83:a2:4b 原始的mac地址
$ openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//' 生成一个mac地址
$ sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z 断开airport无线网卡连接
$ sudo ifconfig en0 ether 7e:df:f7:a5:07:56 修改成生成的mac地址
$ networksetup -detectnewhardware 重新连接网卡
$ ifconfig 查看是否是改后的mac地址
44:9f:24:59:ca:13
SSL 权限
open ~/.ssh/ 打开ssh目录
GitLab:中配置ssh
1、登录后找到 Profile Settings -> SSH Keys 添加Key来做映射
id_rsa.pub 文件
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcmEJCTlr57na4TJ8xU8J/EG0KcrH6Dh+MwBPbs0NO6lA09Pdjro4knzSRYeSHc9X63Km/OR18JU7ygcE9foUYAN8BatnDTh6R+ynyQxyIqIG7Gn8YGF0g8Zx8oU9LsYc8SWP6zdryr7NaQZ41583jt9JxheG0la6D10cqZRQiix7pZMiXmHZXPKCSkTZSGHLaR0Ws24eyz1Yt9HmLXZem8FPkUrwmn2IYk05cwMyK+NE/g9pPJbpVEtEssU4FZ4I++LNltMbAxgtCp2QXZ7Z7ViA3CvK9u8g6u4yLLBPydpXWJ1pu+9bYFV3CvoTEawN3+mIIMsDaDhPlI6PJMk/j 632505215@qq.com
| http://www.cnblogs.com/webzhangnan/p/3221410.html