Linux中常用命令-笔记--进阶之路

1、查看指定用户下的所有进程

# ps -u oracle

1.1、修改Linux系统打开文件数限制

1、RedHat系统强制设置用户最大进程数为1024,可能会发生不够用的情况,因此需要修改
步骤 1	打开并修改/etc/security/limits.conf文件
打开文件
sudo vim /etc/security/limits.conf   
在文件中追加以下内容:
*                -       core            unlimited
*                -       nofile           65535

步骤 2	打开并修改/etc/security/limits.d/20-nproc.conf文件
sudo vim /etc/security/limits.d/20-nproc.conf
将下列内容注释掉:
*          soft    nproc     1024


修改成功后,退出重新登录,用ulimit -a来查看是否修改成功
================================================================================
2、coredump 设置
sudo vim /etc/sysctl.conf  
增加如下配置 
kernel.core_pattern = /corefiles/core.%e.%p.%t
net.core.somaxconn = 4096

最后运行命令使之生效:
sudo sysctl -p
================================================================================
3、信号量设置
1)	输入命令  ipcs -l  查看,要求显示的结果应大于等于下面的数字
                ------ Semaphore Limits --------
max number of arrays = 1024
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767
否则,需要在/etc/sysctl.conf下增加如下一条条命令
kernel.sem = 250 32000 100 1024
最后运行命令:sudo sysctl -p使之生效。
2)	hosts设置
sudo vim /etc/hosts 
增加本机ip主机名
备注:如果涉及主机名修改(主机名不能是纯数字),在其修改后需要重启服务器

2、查看所有进程

# top

3、查找文件

find 命令根据文件名来查找特定文件
# find -name test.file 

如果你知道 /var 中存在 test.file
# find /var -name test.file 

还可以根据时间、大小、所属人、权限等选项搜索文件
# man find


grep 查找

1、单个字符串进行查找:
1、查找当前目录文件名中的字符串:    grep  字符串  文件名
2、查找某个文件中字符串,并输出行号:grep -n 字符串 文件名
3、查找当前目录(包含子目录)的字符串:grep -r 字符串 *
4、查找当前目录(包含子目录)的字符串,并输出行号:grep -rn 字符串 *

* :通配符,表示当前目录所有文件,也可以按照某种模式进行匹配,例如:
    grep 字符串 *.txt   匹配所有文件后缀名为txt的字符串
-r :递归查找
-n :显示行号
-R :查找所有文件包含子目录
-i :忽略大小写

2、同时满足多个字符串查找:
grep 字符串1 文件名| grep 字符串2|grep 字符串3|grep ...

3、满足多个关键字之一
grep -E "字符串1|字符串2|字符串3|"  文件名   或者
egrep  "字符串1|字符串2|字符串3|"   文件名

4、查看历史操作记录

# history

5、服务器间的文件传送

上传到远端
  上传目录:

    scp  [-r]   ./util   用户名@192.168.1.65:/home/dyh/limesurvey_back/scp

  上传文件

      scp   ./util   用户名@192.168.1.65:/home/dyh/limesurvey_back/scp 

如果制定了用户名,后面只要输入密码就行了,如果没有写用户名 就要输入用户名 和密码


远端下载:

      scp  [-r]   dyh@211.154.xxx.xxx:/home/dyh/share/webCompileOut.sql  ./

即如果是目录拷贝要加“-r”参数

6、磁盘管理

df [-ahikHTm] [目录或文件名]:列出文件系统的整体磁盘使用量
-----------------------------------------------------------------------------------------
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示
-----------------------------------------------------------------------------------------

du [-ahskm] 文件或目录名称:检查磁盘空间使用量
-----------------------------------------------------------------------------------------
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
-----------------------------------------------------------------------------------------

fdisk [-l] 装置名称:用于磁盘分区
-----------------------------------------------------------------------------------------
-l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时,
     则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
-----------------------------------------------------------------------------------------

mkfs [-t 文件系统格式] 装置文件名:磁盘格式化
-----------------------------------------------------------------------------------------
-t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)
-----------------------------------------------------------------------------------------

7、ssh登录

ssh root@172.16.18.204

按提示输入对应的密码

8、Linux中关机,重启,注销命令

关机:
  shutdown -h now      #立刻关机重启,工作中常用
  shutdown -h +1       #1分钟后关机
  init 0
  halt                 #立即停止系统,需要人工关闭电源
  halt -p                
  poweroff          #立即停止系统,并且关闭电源

重启:
  reboot          #工作中常用
  shutdown -r now      #工作中常用
  shutdown -r +1     #一分钟后重启
  init 6
注销:
  logout
  exit          #工作中常用
  ctrl+d         #工作中常用

9、查看系统版本信息

# cat /etc/redhat-release

10、创建用户

步骤 1	创建用户
使用root用户登录服务器,创建用户与安装目录,依次执行以下命令:
groupadd iflytek
useradd -g iflytek -d /home/iflytek -m iflytek
 
groupadd iflytek是新建用户组指令,iflytek是用户组名称
-g:是指定用户组
-m:如果指定的用户$HOME目录不存在,则自动创建之并拷贝启动文件到这个目录。
-d:指定用户的$HOME目录,如:/home/iflytek。
iflytek:用户名称。


步骤 2	设置口令
1)初始化用户密码,根据提示输入两次重复密码。

passwd iflytek
2)给iflytek文件夹赋执行权限

chmod -R +x /home/iflytek
3)使iflytek用户可以执行sudo命令,在下列文件中添加iflytek用户,强制保存即可:

vim /etc/sudoers 
 
iflytek ALL=(ALL) NOPASSWD:ALL

4)退出root用户·,用iflytek用户重新登录服务器,su - iflytek。

11、配置java环境

看系统是否安装java
java -version

配置
jdk版本:
jdk1.8.0_221
位置 /usr/local/java/


系统环境变量配置: /etc/environment

export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=/usr/local/java/jdk1.8.0_221/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

用户环境变量 :/etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export JRE_HOME=/usr/local/java/jdk1.8.0_221/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

或者
export JAVA_HOME=/home/dyh/jdk1.8.0_45
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

-----------------------------------------------------------------------------------------

vim ~/.bash_profile

JAVA_HOME=/home/iflytek/jdk1.8.0_45 
JRE_HOME=/home/iflytek/jdk1.8.0_45/jre
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
或
export JAVA_HOME=/home/iflytek/java/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH 

source ~/.bash_profile
-----------------------------------------------------------------------------------------
环境变量生效操作:
source /etc/profile

 11.1系统环境配置的差异

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

12、刷新环境变量

方法一:
在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
要让刚才的修改马上生效,需要执行以下代码

source /etc/profile
方法二:
在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
要让刚才的修改马上生效,需要在用户目录下执行以下代码

source .bash_profile
方法三:
直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export变量名=变量值]定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
例如:export PATH=/usr/local/webserver/php/bin:$PATH

13、新建

mkdir a   #新建一个文件夹
touch a.c #新建一个文件

14、查看文件内容

cat a.txt #查看abc的内容
head -5 a.txt #查看a前5行内容。默认是10行

tail [选项] 文件名
各选项的含义如下:
+num:从第num行以后开始显示
-num:从距文件尾num行处开始显示。如果省略num参数,系统默认值为10.
-f: 循环读取,例如查看服务器日志时,可以实时观察
#filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新。
tail -f filename 
#查看最后20行
tail -f filename

15、du 命令

[root@localhost zx]# du -h dd.html 
32K	dd.html

16、删除操作

rm -f  aa.txt #强制删除aa.txt
rm -rf fileDir #强制删除fileDir文件夹和里边的所有文件

17、移动操作

移动操作可以理解成复制文件后,删除原文件
mv /zx/soft/* . #复制/zx/soft目录中的所有文件到当前目录
mv a.txt ./test/a.txt  #复制当前目录a.txt到当前的test目录下。
mv /zx/soft/  /tmp/soft  #复制文件夹到/tmp/下,必须保证tmp是存在的文件夹

18、重命名操作

重命名还是用的移动操作命令
#将目录(文件)A重命名为B
mv A B
#将/a目录(文件)移动到/b下,并重命名为c。要保证b目录存在。
mv /a /b/c
#将当前test1目录移动到当前的test目录并命名为b
mv ./test1 ./test/b 

19、解压压缩操作

tar
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名

例
tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -xf all.tar
这条命令是解出all.tar包中所有文件,-x是解开的意思
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar

-----------------------------------------------------------------------------------
*.tar 用 tar –xvf 解压
*.gz 用 gzip -d或者gunzip 解压
*.tar.gz和*.tgz 用 tar –xzf 解压
*.bz2 用 bzip2 -d或者用bunzip2 解压
*.tar.bz2用tar –xjf 解压
*.Z 用 uncompress 解压
*.tar.Z 用tar –xZf 解压
*.rar 用 unrar e解压
*.zip 用 unzip 解压  

20、校验值验证

md5sum 文件名
注:
和自己已有的校验值对比是否相同

21、修改文件拥有者/所属用户组

使用root用户执行如下命令
格式:chown 账号名称 文件或目录名
     chown cpicapp:bea /usr/bin/

格式:chgrp 用户组名称 文件或目录名

22、Linux中备份/恢复MySQL数据库

进入到数据库的目录文件夹MySQL
mysqldump -d -A -uroot -puWXf87plmQGz8zMM -h127.0.0.1 > ddl.sql   结构ddl
mysqldump -t -A -uroot -puWXf87plmQGz8zMM -h127.0.0.1 > dml.sql   数据dml

恢复数据先ddl然后dml,source xx.sql
:g#删除内容行的匹配字符#d    删除所需的行
文件内全部替换(正则表达式)
%s#abc#def#g//(用def替换文件中所有的abc)

文件内局部替换  “abc”全部替换成“def”
10,50s#abc#def#g//(如文件内有#,可用/替换,:%s/abc/def/g)

23、Linux终端复用神器tmux

基本的操作无非就是对会话、窗口、窗格进行管理,包括创建、关闭、重命名、连接、分离、选择等


tmux默认的快捷键前缀是Ctrl+b(下文用prefix指代),按下前缀组合键后松开,再按下命令键进行快捷操作,比如使用prefix d分离会话(应该写作prefix d而不是prefix+d,因为d键不需要与prefix同时按下)。

常用命令
tmux new  创建默认名称的会话
tmux new -s mysession  创建名为mysession的会话
tmux ls  显示会话列表
tmux a  连接上一个会话
tmux a -t mysession  连接指定会话
tmux rename -t s1 s2  重命名会话s1为s2
tmux kill-session  关闭上次打开的会话
tmux kill-session -t s1  关闭会话s1
tmux kill-session -a -t s1  关闭除s1外的所有会话
tmux kill-server  关闭所有会话

常用快捷键
prefix s  列出会话,可进行切换
prefix $  重命名会话
prefix d  分离当前会话
prefix D  分离指定会话

窗口管理
prefix c  创建一个新窗口
prefix ,  重命名当前窗口
prefix w  列出所有窗口,可进行切换
prefix n  进入下一个窗口
prefix p  进入上一个窗口
prefix l  进入之前操作的窗口
prefix 0~9  选择编号0~9对应的窗口
prefix .  修改当前窗口索引编号
prefix '  切换至指定编号(可大于9)的窗口
prefix f  根据显示的内容搜索窗格
prefix &  关闭当前窗口

窗格管理
prefix %  水平方向创建窗格
prefix "  垂直方向创建窗格
prefix Up|Down|Left|Right  根据箭头方向切换窗格
prefix q  显示窗格编号
prefix o  顺时针切换窗格
prefix }  与下一个窗格交换位置
prefix {  与上一个窗格交换位置
prefix x  关闭当前窗格
prefix space(空格键)  重新排列当前窗口下的所有窗格
prefix !  将当前窗格置于新窗口
prefix Ctrl+o  逆时针旋转当前窗口的窗格
prefix t  在当前窗格显示时间
prefix z  放大当前窗格(再次按下将还原)
prefix i  显示当前窗格信息

其他命令
tmux list-key  列出所有绑定的键,等同于prefix ?
tmux list-command  列出所有命令

================================================================================

未完待续......

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JDK是一个开发环境,用于构建应用程序,applet程序,和使用Java编程语言的组成部分。 Java Development Kit(JDK)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。 定于2月19日发布的Java SE原来的重要补丁更新 - 2013年2月,但甲骨文决定加快释放该重要补丁更新,因为积极开发“野生”的Java漏洞影响在桌面浏览器,运行时环境(JRE)与该重要补丁更新解决。 更新日志:JDK 7u17 发布,该版本修复了浏览器插件的严重的安全漏洞:CVE-2013-1493,Oracle 强烈建议使用 Java 浏览器插件用户升级。 重要补丁更新是针对多个安全漏洞的补丁集合。为Java SE重要补丁更新还包括非安全修复程序。重要补丁更新是累积性的,每个公告只描述自上一个重要补丁更新和安全警报添加的安全修复。因此,以前的重要补丁更新和安全警报建议应检讨有关以前累积的安全修复程序。 请参考: 重要补丁更新和安全警报的信息,有关Oracle安全性公告。 由于一个成功的攻击所带来的威胁,Oracle强烈建议用户尽快应用CPU修复程序。该重要补丁更新包含50个新安全修复程序的Java SE的产品。 支持受影响的产品 该重要补丁更新解决的安全漏洞影响以下按类别列出的产品。请点击可用补丁列或可用补丁表的链接来访问这些补丁的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackieDYH

谢谢您嘞!我会继续加油地

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值