常用的命令
-
top: 动态查看进程变化,监控linux的系统状况。
-
ls -lrt:按修改时间升序排序。
-
find -name file* :寻找当前路径下的文件
-
df: 查看磁盘存储占用情况,关注 /home 目录即可,达到90%注意清理
-
df -i :查看inodes 占用情况
-
df -h:查看磁盘空间 占用情况
-
堆栈
jstack pid >> fileName
例:jstack 29001 >> jstack.txt -
GC
jstat -gcutil pid 间隔ms 采样数
例:pid 11251 500ms一次共10次
jstat -gcutil 11251 500 10 -
查看帮助:man 命令
-
退出帮助目录: q
-
创建目录和删除目录
mkdir(make directory)命令可用来创建子目录。
mkdir app 在当前目录下创建app目录
mkdir –p test1/test2 级联创建aap2以及test目 -
rmdir(remove directory)命令可用来删除“空”的子目录:
rmdir app 删除app目录 -
in -sv 源文件路径 目标文件路径 :软连接。
-
ss -tnl : 查看socket 连接情况,主要观察服务是否起来,看ip和端口。
-
查看目录
ls: 只能查看能看见的文件
ls -a 能看见所有的文件(包括隐藏文件)
文件前面有.的表示隐藏文件
文件前面有d的表示目录
文件前面有-的表示文件 -
ll -r 可以表示层次下的所有文件
-
浏览文件
cat:显示文件的所有内容
more:分页显示
空格:下一页
回车:下一行
less:分页显示
可以通过PgUp PgDn 翻页查看
还可以搜索 ::“/关键字”
-
tail(★★)
head -10 文件名 查看前10行数据
tail -10 文件名 查看后10行数据
tail -f catalina.log 动态查看日志
ctrl+c 结束查看 -
chmod命令用于改变文件的权限
第一种:chomod [who] [operator] [permission] filename
如何给一个文本文件xxx.sh增加可执行权限?
chmod u+x xxx.sh
如何不让其他用户修改xxx.sh?
chmod go-w xxx.sh
第二种方法:chmod [mode] filename
[mode]是一个3位八进制数:
第一位表示创建者权限
第二位表示组用户权限
第三位表示其他用户权限
3位对应位的对应数字加起来,最终就是三类用户的最终权限。
如何回收非创建者用户对xxx.sh的所有权限?
chmod 700 xxx.sh
第一位7:4+2+1,创建者,可读可写可执行
第二位0:组用户,无权限
第三位0:其他用户,无权限
rpm命令
- 它包含在某些Linux分发版中,RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。与red hat 有关系的那一支linux 肯定会包含rpm包。
- 安装rpm命令:sudo apt-get install rpm
文件的操作
-
创建一个文件
touch 文件名 创建一个空白的文件
echo hello word >aa.txt 把hello word写到aa.txt中,如果文件不存在,创建之,存在则覆盖内容。 -
复制文件
cp 文件 目录/文件名
例如:
cp 1.txt 2.txt
cp 1.txt …/1.txt -
移动文件(重命名)
mv a.txt …/ : 将a.txt文件移动到上一层目录中
mv a.txt b.txt : 将a.txt文件重命名为b.txt -
拷贝文件 cp a.txt b.txt
-
删除文件 rm
rm 文件名:带询问删除
rm -f 文件名:不带询问删除
rm -r 目录:带询问的递归删除
rm -rf 目录:不带询问的递归删除(谨慎使用)
rm -rf * : 删除所有文件 -
tar
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。 -
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件 -
常用的组合
-cvf :打包一个文件或者目录
-zcvf:打包并压缩一个文件或者目录 压缩的格式:gzip
-xvf:解压或者打开一个tar文件 -
格式:
tar 参数 文件名 要打包|解压的文件目录 -
例如:
将当前目录下的haha文件夹的内容压缩到test1.tar
tar -czvf test1.tar haha/
将当前目录下的所有文件打包成test1.tar
tar -cvf test1.tar ./*
将当前目录下的所有文件打包并压缩成test2.tar.gz
tar -zcvf test2.tar.gz ./*
将test1.tar解压到当前目录
tar -xvf test1.tar
将test1.tar解压到b目录
tar -xvf test1.tar -C b
vi和vim编辑器
在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。
- 编辑普通文件
三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按 i 、o、a键;
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
切换到底行模式:按 :(冒号);
yy:复制一行
p:粘贴 - 在文件中可以使用/slave 来搜索含有slave的字段。
- 在文件中使用:%s123/abc/g 将文中全部123 替换成abc
用户管理
-
添加
useradd 用户名:默认会在home目录下给一个用户创建一个目录
passwd 用户名: 回车输入密码
useradd 用户名 -d /home/目录:创建一个用户然后在指定该用户的家目录 -
删除
userdel 用户名:只是删除用户 但是不删除家目录
userdel -r 用户名:删除用户连带家目录一起删除 -
修改登录用户名
usermod -l newname oldname -
切换用户:
ssh -l 用户名 -p 22 主机
例如: ssh -l tom -p 22 192.168.17.131
su 切换到root用户。
了解组管理
当在创建一个新用户user时,若没有指定他所属于的组,就建立一个和该用户同名的私有组
创建用户时也可以指定所在组
- 添加
groupadd 组名
useradd 用户名 -g 组名 - 删除
groupdel 组名
注意:若组下有用户,删除不了
文件的权限:
普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
设备文件: Linux系统把每一个设备都看成是一个文件
-
通过ll展示的列表
以 d 开始的是目录文件
以 - 开始的是普通文件 -
文件的权限9个字母 三个三个一组
第一组代表的是当前用户的权限
第二组代表的是组的权限
第三组代表的是其他用户的权限
r w x r w x r w x -
chmod 变更文件或目录的权限。(u代表所属用户,g代表所属组的成员用户,o代表其他用户。)
chmod 755 a.txt
chmod u=rwx,g=rx,o=rx a.txt -
chown 变更文件或目录改文件所属用户和组(只有root用户有这个权限)格式: chown 用户:组 文件
chown zhang:zhang a.txt :变更a.txt文件到组为zhang用户为zhang的名下。
chown -R u1:public dir : 变更a.txt目录或文件(目录下的所有)到组为zhang用户为zhang的名下。
-
系统管理
磁盘空间查看
df -h 查看内存使用情况
du -sh *查看当前目录下所有子目录和文件的汇总大小 -
进程信息查看
free k查看内存使用情况
top 查看实时刷新的系统进程信息。 -
管道
重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入
例如:
在ifconfig的结果里查找 192.168字符串
ifconfig | grep 192.168
* 查找和java相关的进程
ps -ef | grep java -
查找和3306相关的信息
ps -ef | grep 3306 -
系统管理命令
date 显示当前系统时间
date -s “2014-01-01 10:10:10“ 设置系统时间
clear 清屏
ps 正在运行的某个进程的状态
ps –ef 查看所有进程
ps –ef | grep ssh 查找某一进程 -
网络管理
nat连接 -
虚拟机ip配置
briger
启动网络服务: service network restart(root权限)
关闭防火墙服务: service iptables stop
关闭防火墙自动启动: chkconfig ip tables off
ifconfig:查看所有的网络设置
ifconfig 网卡名称 down :禁用网卡
ifconfig 网卡名称 up :启用网卡
ping:和window中一样
通过ctrl+c取消
netstat 查看网络端口。
netstat -an | grep 3306 查询3306端口占用情况
发布项目
安装jdk
- 首先查看是否已经安装了JDK。命令java -version
查看安装那些jdk 版本 。命令: rpm -qa | grep java
卸载: rpm -e --nodeps 卸载的包
首先将安装包传到linux服务器上(使用工具)
创建文件夹在usr目录下:mkdir java
将jdk安装包复制到java文件下 命令:cp /root/jdk名称 ./java
将其解压 命令:tar -xvf jdk.xxx.tar
安装依赖 命令: yum install glibc.i686 - 配置环境变量:
编辑 vi /etc/profile,在文件最后添加一下信息
#set java environment
export JAVA_HOME=/usr/local/jdk1.7.0_71
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
保存退出
source /etc/profile 使更改的配置立即生效
安装tomcat
- 在/usr目录下创建tomcat目录
- 复制tomcat 到 /usr/tomcat
- 解压tomcat
- 启动tomcat 进入 bin
- 方式1:
sh startup.sh - 方式2:
./startup.sh - 开启端口号 8080
- 8080端口放行
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT - 将该设置添加到防火墙的规则中
/etc/rc.d/init.d/iptables save - 注意:
查看日志文件
tail -f logs/catalina.out - 退出 ctrl+c
发布项目
-
数据库和表
备份数据库
在windows下 命令: mysqldump -uroot -p123 数据库名称 > d:/xx.sql
将xx.sql上传 root目录
先登录服务器mysql
创建数据库
进入数据库 还原 :命令: source /root/xx.sql -
项目
将项目打包 war
war包的特点:
在tomcat/webapps目录下 只要tomcat启动 war会自动解压
./configure和make 和make install命令
- ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
- make 是用来编译的,它从Makefile中读取指令,然后编译。
- make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
详细解释
- configure命令
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。 - make
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。
可能遇到的错误:make *** 没有指明目标并且找不到 makefile。 停止。问题很明了,没有Makefile,怎么办,原来是要先./configure 一下,再make。 - make insatll
这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。
扩展说明
- Linux的用户可能知道,在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件。使用上述三个自动工具,就可以生成configure脚本。运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。
- configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。
这时,就可运行configure脚本了,运行configure脚本,就可产生出符合GNU规范的Makefile文件了: $ ./configure
到此时,就可以运行make进行编译,在运行make install进行安装了,最后运行make clean删除临时文件。
$ make
$ make install (注:运行这个要有足够的权限)
$ make clean
利用configure所产生的Makefile文件有几个预设的目标可供使用,其中几个重要的简述如下:
make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件。
make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。
make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。
make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。
make dist:将程序和相关的档案包装成一个压缩文件以供发布。执行完在目录下会产生一个以PACKAGE-VERSION.tar.gz为名称的文件。 PACKAGE和VERSION这两个变数是根据configure.in文件中AM_INIT_AUTOMAKE(PACKAGE,VERSION)的定义。在此范例中会产生test-1.0.tar.gz的档案。
make distcheck:和make dist类似,但是加入检查包装后的压缩文件是否正常。这个目标除了把程序和相关文件包装成tar.gz文件外,还会自动把这个压缩文件解开,执行 configure,并且进行make all 的动作,确认编译无误后,会显示这个tar.gz文件可供发布了。这个检查非常有用,检查过关的包,基本上可以给任何一个具备GNU开发环境-的人去重新编译。
转载自原文链接, 如需删除请联系管理员。
原文链接:Liunx,转载请注明来源!