工作中的一些积累
采用倒序方式更新
Centos7 开启端口
1、运行命令:
firewall-cmd --get-active-zones
ShellCopy
2、执行如下命令命令:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
ShellCopy
3、重启防火墙,运行命令:
firewall-cmd --reload
ShellCopy
4、查看端口号是否开启,运行命令:
firewall-cmd --query-port=6379/tcp
ShellCopy
yum install glibc-devel.x86_64 --disablerepo=adobe*
查看每个目录大小
du -h --max-depth=1
ShellCopy
vim 编辑的时候 sudo 保存文件
:w !sudo tee %
ShellCopy
linux 中文乱码设置
在 RedHat/CentOS 系统下,记录系统默认使用语言的文件是 / etc/sysconfig/i18n, 如果默认安装的是中文的系统,i18n 的内容如下:
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
ShellCopy
安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
ShellCopy
1.chmod -- 修改文件或目录权限
r -- 1,读
w -- 2,写
x -- 4,执行
u -- user,用户
g -- group,组
o -- other,其他
a -- all,所有人
d rwx --- --- 2 kun775 kun 4096 4 月 26 15:48 kun775
目录 u g o 用户 组
chmod a+x test 所有人都能访问 test
chmod u+rwx test 给当前用户添加读写执行权限
chown -- 修改文件或目录的所有者
chown [选项]... 所有者] 文件...
2.Linux alias 永久生效
在~/.bashrc 或 ~/.bash_profile 里添加
alias rm='rm -rf'
alias grep='grep -i --color=auto'
ShellCopy
然后
source ~/.bashrc
ShellCopy
全局配置就修改 / etc/bashrc
3.gdb 调试
设置断点
b 函数名: 行号
调试运行中的进程
gdb attach 进程 id
4. 清空 redis
redis-cli -h 10.208.134.162 -p 9099 KEYS "live_*" | xargs redis-cli -h 10.208.134.162 -p 9099 DEL
ShellCopy
5. 登录 redis
redis-cli -h 10.208.134.162 -p 9099
ShellCopy
================================================================================
6.Linux 安装 sz rz
首先通过 sftp 工具把安 装文件上传到 / tmp 目录下.
cd /tmp
wget http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz
tar zxvf lrzsz-0.12.20.tar.gz && cd lrzsz-0.12.20
./configure && make && make install
ShellCopy
上面安装过程默认把 lsz 和 lrz 安装到了 / usr/local/bin / 目录下, 下面创建软链接, 并命名为 rz/sz:
cd /usr/bin
ln -s /usr/local/bin/lrz rz
ln -s /usr/local/bin/lsz sz
ShellCopy
7. 安装 gcc g++
yum install gcc gcc-c++
ShellCopy
8. 关闭终端不停止命令继续执行
nohup command >/dev/null 2>&1 &
ShellCopy
9. 获取某个进程 pid
pgrep 进程名,例如:
pgrep live_writer
ShellCopy
然后 kill 掉
pgrep live_writer | xargs kill -9
ShellCopy
10. 进入 redis,显示中文
/usr/local/redis/bin/redis-cli -p 41000 --raw
ShellCopy
// 批量删除 keys
./redis-cli -p 61000 -a duiduiyou KEYS "*" | xargs ./redis-cli -p 61000 -a duiduiyou DEL
ShellCopy
11. 修改 Linux 系统默认语言
vim /etc/sysconfig/i18n
LANG="zh_CN.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
ShellCopy
ulimit -c 来查看 core dump 文件的大小,一般 ulimit -c 1024 或者 ulimit -c unlimited
12.gdb 调试
ulimit -c unlimited
设置断点
b 行号
调试运行中的进程
gdb attach 进程 id
调试带参数的进程
gdb filename
(gdb)set args [参数列表]
在 gdb 中,和调试步进相关的命令主要有如下几条:
• continue 继续运行程序直到下一个断点(类似于VS里的F5)
• next 逐过程步进,不会进入子函数(类似VS里的F10)
• setp 逐语句步进,会进入子函数(类似VS里的F11)
• until 运行至当前语句块结束
• finish 运行至函数结束并跳出,并打印函数的返回值(类似VS的Shift+F11)
12.SSH 命令行上传 / 下载文件
上传:
scp /path/file(这部分为本地的路径) user(远端目标用户名)@host(远端目标 IP):/pathorfile(文件存储路径)
下载:
scp user(远端用户名)@host(远端 IP):/path/file(下载文件在远端的路径) localpathorfile(本地文件存放路径)
查看目录或文件:
ssh user@host command ls "/path/*.tgz"
13.sh 的单行和多行注释
单行注释
多行注释 :<<! 注释内容 !
:'注释内容'
14.main 参数使用
agrv 和字符串的比较
strncmp(argv[1], "hello", 5) == 0
15. 查看端口被占用情况
netstat -tunlp |grep 22
ShellCopy
16. 压缩
tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩
tar -zcvf /usr/local/auto_bak/test.tar.gz /usr/local/test 打包后,以gzip压缩 在参数f后面的压缩文件名是自己取的,习惯上用tar来做,如果加z参数,则以tar.gz 或tgz来代表gzip压缩过的tar file文件
ShellCopy
17. 解压操作:
tar -zxvf /usr/local/test.tar.gz
ShellCopy
18. 安装 pip
下载 pip 到 / usr/local/src
cd /usr/local/src
wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gzmd5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
ShellCopy
如果提示:-bash: wget: command not found
那么安装 wget,执行如下:
yum -y install wget
ShellCopy
19. 解压安装 pip
tar -xzvf pip-1.5.4.tar.gz
cd pip-1.5.4
python setup.py install
ShellCopy
20. 批量复制查找的文件
find . -name "*.sh" | xargs -i cp {} ~/
ShellCopy
21. 连接数据库
mysql -h10.189.30.55 -P3312 -utv_user -p'kt!@123' --default-character-set=utf8 d_v_idx
ShellCopy
22.pip install 安装出现问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position XX 的解决办法
解决办法如下:
在 python 目录 Python27Libsite-packages 建一个文件 sitecustomize.py
里面的内容是:
import sys
sys.setdefaultencoding('UTF-8')
ShellCopy
23.vim 全局替换
:%s/foo/bar/g
ShellCopy
24. 如何在 vim 保存时获得 sudo 权限
:w !sudo tee %
ShellCopy
25.Linux 任务前后台的切换
Shell支持作用控制,有以下命令实现前后台切换:
1. command& 让进程在后台运行
2. jobs 查看后台运行的进程
3. fg %n 让后台运行的进程n到前台来
4. bg %n 让进程n到后台去
5. kill %n 杀死job
PS:"n"为jobs命令查看到的job编号,不是进程编号.
fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的.
ShellCopy
按 Backspace 键删除出现 ^H 的解决方法
stty erase ^h
若要恢复Ctrl+Backspace组合键删除功能,可执行以下命令:
stty erase ^?
淡淡 4个月前0
感谢分享椰奶燕麦粥 4个月前0
挺好的 加油!!!!雨精靈 5个月前0
人生不管結局如何,努力過,揮灑過屬於自己的青春,也不枉人生走一遭,別讓負面情緒消耗自己,縱有疾風起,人生不言棄,加油!!用户19344506 5个月前0
挺好的,加油!雨精靈 6个月前0
就怕來不及努力,遺憾已造成 人總會因為價值觀的不同造成一些誤解 當你明白了,他們已悄然離去 明日復明日,明日何其多 我若待明日,萬事成蹉跎雨精靈 6个月前0
既然有遺憾,何不去珍惜,人生數十載,匆匆已回首,故人相辭去,獨留白頭翁梦屿 1年前0
感谢博主分享