工作中使用率较高的命令:1.linux简单命令分享
刚接触linux,想分享下在工作中比较常用到的命令,希望能对大家有帮助。
1 、查看路径、文件信息
- 查看当前所在位置:
pwd
- 模糊查看:
ls *abc*
- 查看文件test时间戳,即最后修改时间:
ls -ltr test
- 显示隐藏文件:
ll -a
- 查找文件
find -name a.*
2、编辑文本
-
只是查看文本【打开a.log文本】:
view a.log
-
编辑文本【打开a.log文本】:
vi a.log
-
退出文本编辑模式
首先按GESC键回到命令模式,然后输入:w
保存即可,也可以输入:wq!
保存文件并退出。 -
到文本最后一:行
shift+G
-
到文本第一行
gg
-
保存命令:
:w
保存文件但不退出vi:w file
将修改另外保存到file中,不退出vi:w!
强制保存,不退出vi:wq
保存文件并退出vi:wq!
强制保存文件,并退出vi:q
不保存文件,退出vi:q!
不保存文件,强制退出vi:e!
放弃所有修改,从上次保存文件开始再编辑 想了解更多的linux命令,可以看下刘遄写的《Linux就该这么学》作为入门的书籍。
3、关于日志
- 删除日志文件夹20171030 :
rm logs rm -rf 20171030
- 查看日志
tail -f consol.log
– 查看当前日志tail -200f consol.log
– 查看已经打印出来的最新的200行日志 - 不打开日志,查看日志是否存在指定内容,在日志文件consol.log同级目录输入:
①cat consol.log |grep '你好'
②less consol.log
或者vim consol.log
按回车
/‘你好’ 回车
按 n向下检索日志内容
按 N向上检索日志内容
推荐第二种 - 导出consol.log日志
sz consol.log
4、关于进程
- 打印所有进程的进程id(UID PID PPID C STIME TTY TIME CMD)等 :
ps -ef
- 看下有什么进程在跑:
ps -ef | grep PName
- 知道进程id怎么判断进程是否在运行,即进程是否还存在
ps aux|grep 进程id |grep -v grep
- 通过指定进程名杀死进程:
killall -kill processes by name
- 杀掉指定进程ID的进程:
kill -9 进程id
- 杀掉除了init进程以外的所有进程
kill -9 -1
5、关于权限(这个遇见还算是比较常见)
①权限不足,可以登录root然后执行操作;
-
切换用户:su -用户名 【eg: 从普通用户切换到root用户登陆:当你觉得当前用户权限不足,那么可以登录root,然后就可以执行,不加-的话,环境变量会加载不上的】
su -root
②赋予当前用户要操作的权限 -
给文件xx_tmp.sql赋予执行权限【更多权限问题参考
https://zhidao.baidu.com/question/528405584.html
】:chmod +x xx_tmp.sql
-
改变文件夹(sshd_config)所属的组(groupP2papp):
chgrp groupP2papp sshd_config
-
给组里的文件夹赋可执行权限(eg:该权限可以让我们进入这个文件夹)
chmod g+x sshd_config
–将当前目录下的所有文件及子目录的文件拥有者权限设置为读、写、可执行,文件拥有者所在的用户组成员具备读、写、可执行权限,其它用户也具备读、写、可执行权限。chmod -R 777 gReport6y
–可以查看文件信息,包括所属哪个组,是谁创建的,有什么权限等ll
-rw---x--- 1 root groupP2papp 4063 Apr 13 11:28 sshd_config
– >(root
创建的文件夹,groupP2papp
所属组)
在工作中当前用户下,我想执行一些操作,但是居然告诉我没有权限,所以想给用户赋值,那么可以给用户所在的组赋值,首先要做的就是把用户添加到组下面:
–创建组,给组添加用户 http://jingyan.baidu.com/article/335530da8b7e0419cb41c3e5.html
useradd p2papp
– 创建用户passwd p2papp
– 给用户添加密码,输入两次不一样的就可以了groupadd 组名
– 创建组usermod -G 组名 用户名
– 给组添加用户cat /etc/group |grep group
– 查看是否将刚才的用户添加到组中useradd -g 已有组名 新建的用户名
– 把新建的用户添加到已有的组中
③如果a用户 有b文件的执行权限,c用户没有b文件的执行权限,那么可以查看下b文件在哪个组里,可以把c文件的b文件夹也放到那个组里,这样就实现了c用户也有了对b文件的执行权限。–不同用户下的相同资源可以共享同一个组 。
不同用户下相同资源可以隶属于不同的组,如果你的组没有权限,那么可以改变当前用户下该资源的所属组,使之有权限。
chmod:在linux系统中它用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
参数-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) 。
777:分别对应文件实际拥有者,文件实际拥有者所在的组,其它用户的权限,数字权限是基于八进制数字系统而创建的,读权限(read,r)的值是4,写权限(write,w)的值是2,执行权限(execute,x)的值是1,没有授权的值是0。
*:通配符,指当前目录下的所有文件及目录。
6、磁盘空间不足
- 适用场景:空间不足的情况下,需要看下磁盘空间,根据占用量以及不重要性,删除掉不必要文件。
du –m
看下磁盘空间,有很多东西,粗略估计应该是没空间了。du -s
看下空间 - 查看磁盘谁占用空间大:
du –sh 【path】
。如图是prod文件夹,那么可以进一步进入du –sh /prod/*
以此类推,就找到是谁占用资源多了,如果没有,就可以干掉。df -h
看磁盘占用情况ipcs
看一些进程间通讯的信息,包括共享内存,信号量这些。Ipcrm
就是清理一下ipc的资源。Ipcrm –q/-s key
比如想删除消息队列,执行如下:ipcrm -Q 0xe1010d1c
– 当时这个占用比较大
再重新start.sh
或者直接输入man df
7、oracle数据库启动
linux环境使用oracle,报错:TNS-12555 permission denied
http://blog.****.net/lmocm/article/details/49863695
表示需要启动监听服务,那么我们重启下吧。
-
启动监听服务:
su -oracle lsnrctl start
-
oracle用户执行
1 启动sqlplus / as sysdba
startup
2 停止sqlplus / as sysdba shut immediate
8、MYSQl在linux环境操作:
查询建表语句 show create table city
9、其他操作
-
c语言ab.SQC源文件 在linux服务器上的编译(编译c语言源文件):
make ab
-
新建文件夹20171030:
-
模糊删除
0001.20160[12345]*.dmp
,具体删除形式为:0001.20160后面是1或者是2或者是3等 eg:删除文件中有0001.201601*.dmp
rm -rf 0001.20160[12345]*.dmp
-
linux删除指定日期之前的文件:eg: http://blog.****.net/zljjava/article/details/8351060
-
echo(打印命令)
echo $PATH
eg: 打印path信息echo $HOME== pwd
echo $USER
-
看系统日期:
date