Linux命令速查手册
Others
获取公网IP
- curl ifconfig.me
磁盘空间
- df -hl 查看磁盘剩余空间
- df -h 查看每个根路径的分区大小
- du -sh [目录名] 返回该目录的大小
- du -sm [文件夹] 返回该文件夹总M数
- du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)
make
- 通过外部编译器的,比如linux中的gcc集来编译源码
- 获取Makefile文件的命令触发编译
curl
- -X GET/POST
- -I 获取head
- curl有cache
查看tcp/udp端口
- netstat -tunlp
- sudo su - && lsof -i:8080
查看系统启动时间
- who -b
- date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
查看进程的启动时间
- ps -p PID -o lstart
查看cpu
- sar -u 1 5 每1秒采集一次,共5次
- top
查看进程占用内存
- cat /proc/27930/status
- ps -e -o 'pid,args,rsz,uid,user,cmd' | sort -nrk3 | less
查看进程个数
- ps -ef | wc -l
查看进程个数限制
- ulimit -a
查看ip
- hostname -i
- ifconfig
查看环境变量
- export
查看目录大小 :
- du -sh * | grep G | sort -nr
- du -s * | sort -nr
- du -h . 列出子目录
- du -sh * 不列出子目录
- df -h . 列出总量和使用情况
压缩/解压缩
- tar
- 解压 tar -xzvf xx.tar.gz
- -c : 建立压缩档案
- -x:解压
- -f : 文件名字,切记,这个参数是最后一个参数,后面只能文件名。
- -z:有gzip属性的 gz
- -v:显示所有过程
- unzip x.zip/x.jar . : 解压缩
- tar
查看系统内核
- uname -a
获取RedHat版本
- cat /etc/redhat-release
1>/dev/null 2>&1的含义
代表重定向到哪里,例如:echo "123" > /home/123.txt
- 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
- 2 表示stderr标准错误
- & 表示等同于的意思,2>&1,表示2的输出重定向等同于1
- /dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功)
- 这句话等同于1>/dev/null 2>/dev/null 含义是将标准输入和输出丢弃
遍历目录下文件
for file in *
do
if [ -d "$file" ]
then
echo "a forder"
else if [ -f "$file" ]
then
echo "a file"
fi
done
获取当前shell的路径: basepath=$(cd
dirname $0
; pwd)字符串替换: sed -i "s/aaa/bbb/g" test.txt
find .|xargs grep -ri "IBM" : 查找字符在哪个文件
alias aName='xxx'
grep -A/-B 10 'XXX' XX.log: 带上grep语句后/前 10条
less -N: 显示行号
history 10: 察看前10条历史命令
chmod -R 777 folder: 赋权限
free -m -o | grep 'Mem' | awk '{print $4}': 查看服务器空间
crontab -e: 进入CRON JOB VI模式
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk5: 查看进程
ps -ef | awk '{print $2}' | xargs kill -9: kill进程
:set ff=unix: vi 模式下将文件格式转换成unix,可以解决windows下shell脚本和Liunx格式不一样问题
awk
- echo abcde | awk '{print substr($0, 0, 2)}'
- ps -e -o 'cmd' | awk '{print substr($0,index($0,"'$APP_HOME'"),20)}'
- CURRENT_DATE=
date
ps -e -o 'rsz,cmd' | awk '{print $1, "'"$CURRENT_DATE"'"}'
awk引用外部变量
nohup sh process_monitor.sh > process_monitor.out & : 后台持续启动脚本
find /xx/xx/ -name 'xx*.log': 查找文件
find /xx/xx/ -name 'xx*.log' | grep -v 'xxx' | xargs ls -l: find 和 ls 和用
wc *.out: 显示二进制文件的行数
Centos系统
CentOS 7系统安装
- 官网下载DVD版本的iso镜像文件
- 官网下载UltraIOS,将iso文件写入U盘,制作成为U盘启动盘
- 通过BIOS设置从U盘载入,重启
- 教程: https://www.augsky/599.html
系统版本
- Centos操作系统版本
- cat /etc/redhat-release
- Linux内核版本
- uname -a
使用鼠标
- yum install gpm
- service gpm start
基本操作
- 关机 : poweroff
- 重启 : reboot
- 待机/挂起 : systemctl suspend
- 休眠 : systemctl hibernate
笔记本关闭盖子不待机,只锁屏
- vi /etc/systemd/logind.conf
- 配置详解
- HandlePowerKey : 按下电源键后会触发的行为
- HandleSuspendKey : 按下挂起键后会触发的行为
- HandleHibernateKey : 按下休眠键后会触发的行为
- HandleLidSwitch : 关闭笔记本盖子后会触发的行为
- 行为
- ignore、poweroff、reboot、suspend、hibernate、hybrid-sleep、lock 以及 halt, kexec
- HandleLidSwitch=lock : 关闭盖子锁屏
用户与权限
User
- whoami :查看当前登录用户名
- su user:切换用户,exit回到上个用户
- cat /etc/passwd |cut -f 1 -d : : 查看用户
- useradd name :添加用户
- -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
- -N:取消建立以用户名称为名的群组。默然group是 users
- -Umr: 创建同名组,home目录,系统用户
- userdel user: 删除用户
- 删除用户会删除默然同名组
- 删除用户后用户文件属于user id,比如1000,当创建下个用户时user id会被占用,用户文件会属于新建的用户
- -r : 同时删除home和mail
- passwd user passwd :设置密码
- usermod : 修改用户
- -G :将用户添加进组
- -g : 将用户修改为属于组
Group
- groups
- 查看当前登录用户组
- groups jude查看jude用户所在的组
- groupadd/groupdel/groupmod
权限
- which yum
- 查看yum命令的路径,然后可以看到所有者和权限
sudo : /etc/sudoers
命令
- sudo -l
- visudo
- man sudo
别名类型(Alias_Type):别名类型包括如下四种
- Host_Alias 定义主机别名;
- User_Alias 用户别名,别名成员可以是用户,用户组(前面要加%号)
- Runas_Alias 用来定义runas别名,这个别名指定的是“目的用户”,即sudo 允许切换至的用户;
- Cmnd_Alias 定义命令别名;
别名规则定义格式如下:
- Alias_Type NAME = item1, item2
- Alias_Type NAME = ALL
授权规则
- 授权用户 主机=命令动作
- jude ALL=(root)/bin/chmod,/bin/chmod
- 可以在任何可能出现的主机名的主机中,可以切换到root下执行 /bin/chown ,可以切换到任何用户招执行/bin/chmod 命令
- jude ALL= NOPASSWD: /bin/chown,/bin/chmod
- 不需要输入 用户的密码执行chown,但是执行chmod 要输入自己的密码
- !表示排除
- 授权规则3项都可以用别名代替
软件安装
wget
- 后台自动下载网络资源
- 安装 : yum install wget
- wget基本命令
- wget http://xxx.rpm
- wget -i xxx.txt : 批量下载
- wget -r -np -nd http://xxx/download
- --accept rmp : 只下载.rpm文件
- -c : 断点续传
- -P : 指定目录
apt
- apt-get update : 更新apt
- apt-get install vim : 可以在docker容器中安装vi
- sudo apt install yum : ubuntu安装yum
YUM
- yum基本概念
- 基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装
- 可以自动处理依赖性关系,并且一次安装所有依赖的软体包
- yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令
- yum源
- 默认源配置目录 : /etc/yum.repos.d/
- 配置里面所有enabled=1的(默认)源
- 命令
- yum repolist 查看当前可用源
- yum grouplist:显示包组
- yum list {available|installed|updates} :显示包列表
- yum list vsftpd* 显示和vsftpd匹配的列表
- 除了支持远程仓库源,还支持本地挂载目录和远程挂载目录
- yum-config-manager
- 安装:yum install -y yum-utils
- yum-config-manager --add-repo xxx.repo
- yum-config-manager --enable docker-ce-edge : 相当于手动将enabled=0
- yum-config-manager --disable docker-ce-edge
- EPEL源
- 更丰富的,高质量的,更新的yum源
- yum search epel安装
- rpm下载安装
- 阿里巴巴开源镜像站
- 其他yum源设置disabled=0
- Docker源
- yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- yum命令选项
- --nogpgcheck:禁止进行gpgcheck
- -y: 自动回答为“yes”
- -q:静默模式
- --disablerepo=repoidglob:临时禁用此处指定的repo
- --enablerepo=repoidglob:临时启用此处指定的repo
- --noplugins:禁用所有插件
- yum安装卸载
- yum install/groupinstall package
- yum install package-version 安装指定版本
- yum restall package:重做
- yum update package:更新包
- yum check-update
- yum remove package1 [package2]
- yum install/groupinstall package
- yum查询
- yum search xxx :搜索带有某个关键字的安装包
- yum info 查看search到的程序包信息
- yum list package --showduplicates : 查看所有版本
- yum list installed : 查看所有已安装的package
RPM
- rpm命令
- 安装 rpm -ivh --prefix=$path XX.rpm
- 查看 rpm -qa XX
- 查看安装的文件 rpm -ql XX
- 卸载 rpm -e --nodeps 察看得到的包名字
gcc编译源码
命令安装路径
- which less
网络设置
CentOS连接WIFI
- 检查无线网卡/网口
- dmesg | grep firmware
- iw dev : Interface后的是网口名,这里是wlp3s0
- 激活无线网口
- ip link set wlp3s0 up
- ip a: BROADCAST,MULTICAST,UP,LOWER_UP中的UP代表激活
- 安装NetworkManager
- nmcli d status : 如果wlp3s0的status是unmanaged,说明没有NetworkManager
- yum install NetworkManager-wifi
- systemctl restart NetworkManager
- wifi操作
- nmcli r wifi on/off : 打开/关闭wifi功能
- nmcli d wifi : 查找wifi
- nmcli c: 查看已经连接的wifi
- nmcli c up/down/delete Jude : 连接/关闭/删除已设置过的wifi
- nmcli --ask d wifi connect Jude : 连接wifi Jude,输入密码
- error connection activation failed (7) secrets were required but not provided : 重启电脑
Linux连接WIFI
- 检查无线网络连接情况
- iw wlp3s0 link
- 扫描可连接的wifi
- iw wlp3s0 scan | grep SSID
- 连接指定的SSID
- wpa_supplicant -B -i wlp3s0 -c <(wpa_passphrase "[SSID]" "[PIN]")
- 用dhcp 获得 IP 分配
- dhclient [name]
- 测试是否成功地从路由器获取了ip
- ip a show [name]
与windows组成局域网
- 需要linux与windows拥有相同的子网掩码,相同的网关,同段位ip
- 可以通过连接到相同的猫
- 连接到相同的路由器
- 同处于一个wifi
- windows在Internate选项的网络共享里,需要开启网络发现和文件共享,linux才可以ping通windows
putty连接SSH
- 打开centos的SSH服务
- service sshd start
- 下载putty连接局域网ip
alias for gradle and git
alias
unalias -a alias build="disableCB && gradle ktlintformat clean build && enableCB"
alias branch="git branch -vv && git cherry -v"
alias push="~/jude/alias_job.sh push_branch push"
alias fast_commit_push="~/jude/alias_job.sh fast_commit_push"
alias merge_develop="git merge origin/develop"
alias develop_branch="git checkout develop && git pull && branch"
alias show_all_branch="~/jude/alias_job.sh show_all_branch" alias bbset_branch="~/jude/alias_job.sh set_current_branch"
alias bbcreate_all_branch="~/jude/alias_job.sh create_all_branch"
alias bbpush_branch="~/jude/alias_job.sh push_branch push_new" alias ccbuild="ccenable && gradle ktlintformat clean build"
alias ccenable="gradle enableCompositeBuild"
alias ccdisable="gradle disableCompositeBuild"
alias bbnew_branch="git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream && branch"
alias bbdelete_branch="~/jude/alias_job.sh delete_current_branch"
alias bbresert_hard="~/jude/alias_job.sh hard_reset" alias aaa="cat ~/.bash_profile"
alias eee="vi ~/.bash_profile"
alias rrr="source ~/.bash_profile"
alias la="ls -tral"
alias ll="ls -trl"
alias killjava="ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9"
alias job
#!/bin/bash set_current_branch() {
echo $1 > ~/jude/current_branch
cat ~/jude/current_branch
} hard_reset() {
read -r -p "Git Hard Reset your local change? [Y/n] : " input case $input in
[Y])
git reset --hard
;;
*)
echo "do nothing"
exit 1
;;
esac
} delete_current_branch() {
read -r -p "Delete current branch `cat ~/jude/current_branch`? [Y/n] : " input case $input in
[Y])
git checkout develop && git branch -d `cat ~/jude/current_branch` && git branch -vv
;;
*)
echo "do nothing"
exit 1
;;
esac
} fast_commit_push() {
git branch -vv && git status read -r -p "Commit and push branch `cat ~/jude/current_branch`? [Y/n] : " input case $input in
[Y])
branch=`cat ~/jude/current_branch`
git commit -m $branch -a
push_branch push
;;
*)
echo "do nothing"
exit 1
;;
esac
} push_branch() {
case $1 in
"push_new")
git push --set-upstream origin `cat ~/jude/current_branch` && git branch -vv && git cherry -v
;;
"push")
git pull && git push && git branch -vv && git cherry -v
;;
*)
echo "do nothing"
exit 1
;;
esac
current=`pwd`
branch=`cat ~/jude/current_branch`
case $current in
"/Users/jude.sheng/IdeaProjects/paymentacceptance-adaptor")
open https://github.com/airwallex/paymentacceptance-adaptor/compare/develop...$branch?expand=1
;;
"/Users/jude.sheng/IdeaProjects/paymentacceptance-executor")
open https://github.com/airwallex/paymentacceptance-executor/compare/develop...$branch?expand=1
;;
"/Users/jude.sheng/IdeaProjects/paymentacceptance-core")
open https://github.com/airwallex/paymentacceptance-core/compare/develop...$branch?expand=1
;;
"/Users/jude.sheng/IdeaProjects/paymentacceptance-gateway")
open https://github.com/airwallex/paymentacceptance-gateway/compare/develop...$branch?expand=1
;;
"/Users/jude.sheng/IdeaProjects/paymentacceptance-tokenservice")
open https://github.com/airwallex/paymentacceptance-tokenservice/compare/develop...$branch?expand=1
;;
"/Users/jude.sheng/IdeaProjects/paymentacceptance-common")
open https://github.com/airwallex/paymentacceptance-common/compare/develop...$branch?expand=1
;;
*)
echo "do nothing"
exit 1
;;
esac
} create_all_branch() {
current=`pwd`
cd /Users/jude.sheng/IdeaProjects
cd paymentacceptance-adaptor
pwd && git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream
cd ../paymentacceptance-common
pwd && git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream
cd ../paymentacceptance-executor
pwd && git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream
cd ../paymentacceptance-core
pwd && git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream
cd ../paymentacceptance-gateway
pwd && git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream
cd ../paymentacceptance-tokenservice
pwd && git pull && git checkout origin/develop -b `cat ~/jude/current_branch` && git branch --unset-upstream cd /Users/jude.sheng/IdeaProjects
cd paymentacceptance-adaptor
git branch -vv
cd ../paymentacceptance-common
git branch -vv
cd ../paymentacceptance-executor
git branch -vv
cd ../paymentacceptance-core
git branch -vv
cd ../paymentacceptance-gateway
git branch -vv
cd ../paymentacceptance-tokenservice
git branch -vv cd $current
} show_all_branch() {
current=`pwd`
cd /Users/jude.sheng/IdeaProjects
cd paymentacceptance-adaptor
echo "=============================" && pwd && git status && echo "----------------------" && cherry -v
cd ../paymentacceptance-common
echo "=============================" && pwd && git status && echo "----------------------" && cherry -v
cd ../paymentacceptance-executor
echo "=============================" && pwd && git status && echo "----------------------" && cherry -v
cd ../paymentacceptance-core
echo "=============================" && pwd && git status && echo "----------------------" && cherry -v
cd ../paymentacceptance-gateway
echo "=============================" && pwd && git status && echo "----------------------" && cherry -v
cd ../paymentacceptance-tokenservice
echo "=============================" && pwd && git status && echo "----------------------" && cherry -v
cd $current
} case $1 in
"set_current_branch")
set_current_branch $2
;;
"hard_reset")
hard_reset
;;
"delete_current_branch")
delete_current_branch
;;
"create_all_branch")
create_all_branch
;;
"push_branch")
push_branch $2
;;
"fast_commit_push")
fast_commit_push
;;
"show_all_branch")
show_all_branch
;;
*)
echo "do nothing"
exit 1
;;
esac
Linux命令速查手册的更多相关文章
- Linux命令速查手册,超详细Linux命令教程
一.常用命令速查 ls cd pwd cat more less tail head cp scp mv mkdir rmdir touch rm ps kill top free clear tre ...
- Linux命令速查手册(第2版)学习
第1章.需要了解的命令行相关事项 表1-1 如何在文件名字符中使用特殊字符 字符 建议 / 绝不使用.不能转义 \ 必须转义.避免使用 _ 绝不能作为文件或目录名的第一个字符 [] 必须转义.避免使用 ...
- cmd命令速查手册
CMD命令速查手册ASSOC显示或修改文件扩展名关联AT 计划在计算机上运行的命令和程序ATTRIB 显示或更改文件属性BREAK 设置或清除扩展式 CTRL+C检查CACLS显示或修改文件的访问控制 ...
- Docker常用命令速查手册(华贵铂金版)
原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 Docker常用命令速查手册 搜索仓库镜像 docker search nginx 获取 ...
- 基础 Linux 命令速查清单
jaywcjlove/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册.详解.学习.搜集.https://git.io/linux https://github. ...
- Linux 命令速查
学生信,Linux是最最基本的技能,要尽量将自己的工作平台转移到Linux,编程写脚本,这样会极大的提升工作效率,找工作时也不会太怂.Linux所有的任务都是通过命令来完成的,具有高度的统一性.Lin ...
- Linux系统常用命令速查手册
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 系统信息 arch #显示机器的处理器架构(1 ...
- Linux/Unix 系统分析命令速查手册
1.Hardware CPU information: cat /proc/cpuinfo 物理core个数: 统计core 逻辑CPU个数:统计processor Memory informatio ...
- Ubuntu常用命令速查手册-珍藏版-完整版
sudo apt-get install 软件名 安装软件命令 sudo nautilus 打开文件(有root权限) su root 切换到“root” ls 列出当前目录文件(不包括隐含文件) l ...
随机推荐
- laravel中db获取某个数据的具体字段值:
$helpfriend = DB::connection('luckyrecord')->table($luckyrecord)->where('id', $luckyrecordid)- ...
- shutil 模块
import shutil #用于简化文件操作的模块 # f1 = open(r"D:\上海python全栈4期\day20\7.shutil模块.py","rb&quo ...
- 1014 2018 使用FLAG counter
AmazingCounters.com 不能用了,服务器访问不了了,之前的博客浏览量也看不到了,1014号换了个新的--FLAG counter,就是博客右边那个.
- memset详解 设置无穷大INF
memest原型 (please type "man memset" in your shell) void *memset(void *s, int c, size_t n); ...
- CSS--思维导图
CSS--思维导图
- core net 2 nuget的数据源包
基本都是 在 obj里面 debug里面 porgect.assetc.json
- SQL-37 创建索引
题目描述 针对如下表actor结构创建索引:CREATE TABLE IF NOT EXISTS actor (actor_id smallint(5) NOT NULL PRIMARY KEY,fi ...
- SQL-14 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。 注意对于重复的emp_no进行忽略。
题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t.注意对于重复的emp_no进行忽略.CREATE TABLE IF NOT EXISTS &q ...
- Effective Java (ENUM篇)
我们存放一些静态变量,像是一些变量和设置,等等等等,我们尽量使用ENUM,因为ENUM是不可实例化和继承的,所以他很安全,它是在程序一开始运行的时候进行一些编译,修改ENUM不需要再次编译. 在什么时 ...
- 安装和配置HyperServer
总述 安装和配置HyperServer非常简单.直接. uniGUI安装程序在.. \uniGUI\HyperServer\bin\文件夹(\bin64\用于64位二进制文件)下分发了HyperSer ...