专注于快乐的事情

Linux日常命令

日常操作

ssh相关操作

登录

ssh -p 10622 ww@10.21.10.11

copy文件到服务器

scp spark-1.6.1-bin-hadoop2.6.tgz root@10.254.62.6:/root/Public

或者使用rz

下载文件

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

压缩和解压缩

压缩c
tar -cvf jpg.tar *.jpg

解压缩x
tar zxvf apache-tomcat-7.0.41.tar.gz

解压指定文件夹:
tar -xzvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java

其他参数参考
-f: 必须参数,放在最后,后面只能接档案名。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

列表显示文件

ls -lh

树形参看本目录下的文件

tree -L 2

查找目录下的文件

sudo find / -name my.cnf

指定查询深度

find . -maxdepth 1 -name 'docker'

find /data/ -mtime -5

最近访问时间 access time (-atime)、最近更改时间 modify time (-mtime) 和 最近状态改动时间 change time(-ctime),可以使用stat a.txt

grep查询文件内容

grep 'call调用请\|TransDate' *.log
grep 交易凭证 *.log -C5

查询目录下的指定文件中搜索you文本
find ./ -name "*.txt" | xargs grep "you" {}\;

使用egrep

egrep 'call调用.*XM2016111100000026' default.log.2016-11-25.0.log -A30

-A:显示匹配到字符那行的后面n行
-B:显示匹配到字符那行的前面n行
-C:显示匹配到字符那行的前后n行

建立符号链接(目的到源)

ln -s /usr/local/bin/abc abc

复制文件

cp *.png *.jpeg *.gif /destpath

如果想剪切,就把cp改为mv

文件内容进行替换

find -type f ! -path '*/.vagrant/*' | xargs sed -i 's/10.211.55/10.168.1/g

使用需要转义

find -type f ! -path '*/.svn/*' | xargs sed -i 's/abc.xxx.cn/localhost:8090\//static-inner/g'

用户和权限操作

ls -al参看文件的权限

drwxr-xr-x表示的含义:
第1个字符:表示文档的类型,d表示是目录,-表示是文件
ugo
第2~4个字符:文件所有者的权限(u表示,user)
第5~7个字符:所有者同组成员的权限(g表示,group)
第8~10个字符:其他用户的权限(o表示,other)

八进制的语法表示为r(4)、w(2)、x(1)、-(0),4表示读权限,2表示写权限,1表示执行权限,0表示没有权限。
例如:-rw-r–r– (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限
-rwxrwxrwx (777) 所有用户都有读、写、执行权限

新增加一个用户并将其加入到存在的用户组developers中
useradd -G developers ww

查看该用户的属性
id ww

将一个已有用户增加到一个已存在的用户组developers中
usermod -a -G developers ww

将ww的主要用户组改为 developers,则直接使用 -g 选项
usermod -g developers ww

修改 tmp 目录所属用户为 root,用户组为 root
chown -R root:root /tmp

修改 tmp 目录为所有权限
chmod -R 777 /tmp

系统基本信息

linux版本

查看系统版本

lsb_release -a

cat /proc/version正在运行的内核版本
输入”cat /etc/issue”, 显示的是发行版本信息

cpu信息

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

内存

cat /proc/meminfo

磁盘

sudo fdisk -l

系统维护

磁盘使用情况

df -h

文件大小

当前文件夹下的文件大小
du -sh *

进行排序并且显示前5个

du -h /mydata/ --max-depth=2 |sort -n | head -5

查找系统中的大目录
sudo du -h / --max-depth=1 | sort -nr | head -5

查找目录下的大文件

sudo find /mydata -type f -size +500M -print0 | xargs -0 ls -lh | sort -nr

进程

查询那些进程在使用

ps -eo pid,user,cmd | grep ssh

显示某个程序是否在运行

ps -aux | grep "memcached"

使用lsof查看占用端口的进程

lsof -i :3306

或者使用

sudo netstat -anop | grep 3306

-p 选项查看进程信息

netstat -tnlp
netstat -nlopt

可以查看监听的端口,其中l是listening, p是显示program, n是显示ip而不是name, t只查看tcp的内容

检查包的安装情况

rpm -qa |grep jdk

安装
rpm -ivh jdk-7-linux-i586.rpm

关机

sudo shutdown -h now

参考

tar
linux查看cpu、内存、版本信息
Linux 中将用户添加到组的指令

评论系统未开启,无法评论!