linux基本命令收藏


linux基本命令:(XShell)
:q   退出不保存
:q!      强制退出并不保存(若曾修改过文件,又不想储存)
:w   将编辑的信息写入硬盘文件中
:w!   若文件为“唯读”时,强制写入该文件。
    (到底能不能写入,还是跟您对该文件的文件权限有关)
:wq    保存并退出vi
:wq!    强制保存并退出vi
Ctrl+c    退出当前操作
ESC   退出vi编辑状态
i   进入vi编辑状态

passwd   更改帐号密码
man 命令(如:passwd) 查看联机(passwd命令)帮助说明
或 passwd --help 查看passwd命令相关的命令说明    
telnet ip  远程登录
 
ll(ls)  列出当前目录下的文件名
ll -a    列出包括以.开始的隐藏文件的所有文件名
cd    改变目录位置至用户登录时的工作目录
cd dir1   改变目录位置至dir1目录下
cp 源目录/file1 目的目录   
   复制源目录下file1文件到目的目录下
cp -r 源目录 目的目录 
    复制整个源目录(源目录及子目录下所有文件)到目的目录下
mv 源目录/file1 目的目录
   将源目录下file1文件移动到目的目录下

scp   服务器之间的拷贝文件或目录
scp file1  root@10.71.106.19:/iso
   把 文件file1 拷贝到局域网 ip 为 10.71.106.19 的机器的root用户下/iso目录下
scp * -r root@10.71.106.19:/iso
   把当前目录下所有的子目录及文件 拷贝到局域网 ip 为 10.71.106.19 的机器的root用户下/iso目录下
uucp file1 system!filename(或dir)
   用于两个系统间的文件传输

mkdir dir1  创建新目录dir1
rmdir dir1
或 rm -rf dir1  删除目录dir1
touch file1  创建文件file1
rm file1  删除文件file1
dd    删除.sh脚本文件当前(光标)所在行
10dd   删除.sh脚本文件从当前所在行开始共10行

split    分割文件
split -b 100k file.txt file
   将file.txt文件以100k为大小分割成多个以file为前缀名的文件
split -C 1000 file.txt file (其中C为大写)
   将file.txt文件以1000行为大小分割成多个以file为前缀名的文件

pwd   显示当前所在的目录的位置
cat file1  以连续显示方式,查看文件名file1 的内容
more file1
或 cat file1|more 以分页方式查看文件名file1 的内容

du dir1   显示目录dir1 的总容量及其子目录的容量(以KB 为单位)
du -s dir1  显示目录dir1 的总容量


p   查看当前进程
history   查看历史操作命令列表
ifconfig  查看大小网IP地址及其对应的MAC地址

ipconfig  查看本机IP地址
nbtstat -a ip(对方) 查看对方是哪个

logname   显示当前使用的用户名
who am i  显示当前使用的用户名
who    显示当前有哪些用户登录到系统上
su - websms  切换到websms用户

md5sum -b 包名 > 包名.md5
   生成md5文件
md5sum -c 包名.md5 校验文件完整性(ok:校验通过 false:校验不通过,文件被修改)

sh *.sh   执行*.sh文件
tail -f   监控文件
tail -f *.log  观察日志
tail -f *.cdr.ing 观察各种话单
vi *sh,*.xml,*.properties,*.ini,*.alarm
   进入该文件的脚本配置
date   显示当前系统时间
date -s yyyy-mm-dd(具体的日期) 
   修改当前系统日期
date -s hh-mm-ss 修改当前系统时分秒

 

sed的特点:就是非破坏(nondestructive),流水行(streamlined),非交互(noninteractive)的编辑器。
sed ‘s/home/home1’ a.txt  
sed -e ‘s/home/home1’ a.txt
   都是把 a.txt 文件里的home替换为home1,且输出到屏幕,但是原文件都没改变
sed -i‘s/home/home1’ a.txt     
   直接把a.txt文件里的home修改为home1(修改a.txt文件)
sed ‘s/home/home1’ a.txt>b.txt  
   把a.txt文件里的home替换为home1,且重定向将修改保存到b.txt中(只修改第一处的home)
sed ‘s/home/home1/g’ a.txt>b.txt
   把a.txt文件里的全部home替换为home1,且重定向将修改保存到b.txt中  


echo命令可以显示文本行或变量,或者把字符串输入到文件
echo "hello world" 输出字符串hello world
echo "\"hello world"\"  输出"hello world"
echo "">file1   清空file1文件里内容
echo "hello world">file1
   字符串被重定向到file1文件里(覆盖file1文件里原来的内容)
echo "hello world">>file1
   字符串被追加到file1文件的末尾(不覆盖file1文件里原来的内容)
echo "$LOGNAME carried them out at `date`">>file1

echo $a   显示指定变量a设定的值

dos2unix *.txt,*.sql    将windows下的*.txt文件转换成unix下的文本文件
   把\r\n转化成\n,即是:去掉字符 ^M
unix2dos *.sh  将unix下的*.sh文件转换成windows下的文本文件
   把\n转换成\r\n,即是:加上字符 ^M


route   查看所在网关
fdisk -l  对硬盘进行逻辑分区
df -l                   显示每个文件所在的文件系统的信息,默认是显示所有文件系统
df -k    检查磁盘空间使用情况
df -h   检查磁盘空间使用百分比
uname    显示电脑及操作系统的相关信息


lvscan   显示lv磁盘情况
vgscan   显示vg磁盘情况
pvscan   显示pv磁盘情况
lvdisplay  显示每个lv磁盘详细情况
vgdisplay  显示每个vg磁盘详细情况   
pvdisplay  显示每个pv磁盘详细情况
lvremove lv路径  删除lv磁盘
vgremove vg路径  删除vg磁盘
pvremove pv路径  删除pv磁盘
vgchange -an billvg 不激活billvg


shutdown -s  关机
shutdown -r now  现在重启(后面可跟时间(单位:s))
shutdown -i  待机
shutdown -l  远程关机


管道命令|  grep,awk,sed都适合用管道
who | awk '{print $1"\t"$2}'
   显示用户名和所在的终端
df -k | awk '{print $1}' | grep -v "Filesystem"
   显示文件系统名
ps aux | grep websms 查询websms各模块cpu的占用情况
   

java -version  查看安装的jdk的版本
echo $JAVA_HOME  查看JAVA_HOME里配置的jdk版本及路径
echo $JRE_HOME  查看JAVA_HOME里配置的jre版本及路径
ls -al   查看.profile文件
vi .profile  查看环境变量(进入.profile配置jdk和jre的版本和路径)
source .profile  使修改的环境变量立即生效

chmod   赋予文件的读写和执行权限
chmod +x a.*  赋予a.*文件执行权限
chmod ugo+x a.*  赋予a.*文件属主(u)、同组用户(g)和其他用户(0)执行权限
chmod 764 a.*  赋予a.*文件属主读、写和执行权限,同组用户读和写权限,其他用户读权限【7=4(读)+2(写)+1(执行)】
chmod -R 764 /home/websms/tools/*
   赋予/home/websms/tools目录下的所有文件和各个子目录下的的文件权限全部设置为
    文件属主读、写和执行权限,同组用户读和写权限,其他用户读权限
chmod 4764 a.*  文件被设置了suid,文件属主具有读、写和执行权限,同组用户具有读和写权限,其他用户具有读权限
chmod 6764 a.*  文件被设置了suid/guid,文件属主具有读、写和执行权限,同组用户具有读和写权限,其他用户具有读权限
 
chown    用于更改文件的所属人和组  
chown websms:users /home/websms/file1
chown websms.users /home/websms/file1
   更改file1文件属于websms用户的users组(两种情况都是一样的)
chown websms:users file -R
   更改file目录属于websms用户的users组


find search-path -name filename -print
   搜寻指定路径下某文件的路径。
find ~ -name "a.*" 在根目录$HOME中查找符合 a.* 文件 (符号~ 代表了你的$HOME目录)
find . -name "a.*" 在当前目录及子目录中查找所有的 a.* 文件
find ./ -name "a.*"  
find -name "a.*" 在当前目录及子目录中查找所有的 a.* 文件(三种情况都是一样的) (双引号和单引号都一样的)
find . -name "[A-Z]*" 在当前目录及子目录中查找文件名以一个大写字母开头的文件

find . -perm 744 在当前目录下查找文件权限为744的文件,即文件属主可以读、写、执行,其他用户可以读
find . -mtime -3 在当前目录下查找更改时间在3日之内的文件
find . -mtime +3 在当前目录下查找更改时间在3日以前的文件
find . -type d   在当前目录下查找所有的目录
find . -type f  
find . ! -type d 在当前目录下查找除目录外的所有文件
find / -size +100000000c -print
   查找异常文件系统中的超大文件
find与exec一起用时,有些系统对exec命令的长度有限制,但与xargs一起使用时不同,xargs命令每次只获取一部分文件而不是全部
find . -type f -exec ls -l {} \;
   在当前目录下查找所有文件,并在-exec选项中使用ls -l命令将它们列出
find logs -type f -mtime +5 -exec rm  {} \;
   在/logs目录中查找更改时间在5日以前的文件并删除它们
find . name "core*" | xargs echo "" > /tmp/core.log
   在当前目录下查找内存信息转储文件(core*),然后把结果保存到/tmp/core.log文件中
find /home/websms -pert -7 | xargs chmod o - w
   在/home/websms目录下查找所有用户具有读、写和执行权限,并收回相应的写权限
find . -type f | xargs grep "device"
   在所有普通文件中搜索device这个词
 
grep "abc" file1 
more file1 | grep abc 在file1文件中搜索abc(两种情况都是一样的)

whereis command  显示命令的路径
which command   显示命令的路径,及使用者所定义的别名
whatis command   显示命令功能的摘要

diff file1 file2 比较文件file1 与file2 内各行的不同之处
diff -r dir1 dir2       比较目录dir1 与dir2 内各文件的不同之处

ps
或 ps -x   查看系统中,属于自己的进程
ps -au    查看系统中,所有用户的进程
ps -aux   查看系统中,包含系统内部的及所有用户的进程
ps -fu root  查看所有root用户下进程(查看哪个用户就跟哪个用户名)
kill -9 PID  强制杀掉进程(进程号是PID的进程)

cc file1.c &  将编译file1.c 文件的工作置于后台执行
^Z   按下Control + Z键,暂停正在执行的进程
bg   键入bg命令,将暂停的进程置于后台继续执行
jobs   查看正在后台中执行的进程
kill %n   结束或终止后台中的进程(n:利用j o b s命令查看出的后台作业号)
kill %    终止在后台中的第一个进程
kill %2   终止在后台中的第二个进程


变量设置时的不同模式
Variable-name=value 设置实际值到variable-name
Variable-name+value 如果设置了variable-name,则重设其值
Variable-name:?value 如果未设置variable-name,显示未定义用户错误信息
Variable-name?value 如果未设置variable-name,显示系统错误信息
Variable-name:=value 如果未设置variable-name,设置其值
Variable-name:-value 同上,但是取值并不设置到variable-name,可以被替换

shell变量 p=hello q=good
set    查看所有外壳变量的设定值
echo ${p}(或:p) 显示变量p的取值
set p = haha  设定外壳变量p为haha
unset p   删除外壳变量p 的设定值
echo ${p}${q}  将变量并排可以使变量结合在一起
echo "The sky is ${p:-hi} today"
   如果设置了变量p的值,则使用它(原来赋的值),如果未设置,则取新值

环境变量
setenv    查看所有环境变量的设定值
echo $NAME   显示指定的环境变量NAME的设定值
echo $PRINTER   显示环境变量PRINTER 的设定值
setenv PRINTER sp  设定环境变量PRINTER 为sp
unsetenv PRINTER  删除环境变量PRINTER的设定值

别名
查看所定义的命令的别名
alias    查看自己目前定义的所有命名,及所对应的别名
alias name   查看指定的name 命令的别名
alias dir   查看别名dir 所定义的命令
alias dir ‘ls -l’  将命令ls - l 定义别名为dir
unalias dir   删除别名dir 的定义
unalias *   删除所有别名的设定


crontab -u  用户名
crontab -e  编辑crontab文件
crontab -l  列出crontab文件中的内容
crontab -r  删除crontab文件

echo $?   查看退出状态(返回状态:0 退出成功  返回状态:1 退出失败)


head -number file.txt 显示file.txt文件的前number行
head -1 *.sh  只显示*.sh文件的第一行
head -10 *.sh | more 显示*.sh文件的前10行
more *.sh  显示*.sh文件内容(分页方式显示)
cat *.sh  显示*.sh文件内容(连续方式显示)
cat *.sh | more  显示*.sh文件内容(分页方式显示)
cat /etc/SuSE-release   查看SuSE具体的版本号
cat /etc/redhat-release
    

tar cf *.log  将*.log日志文件打包
tar zxvf/xvf *.tar.gz 解压.tar文件
tar zcvf/cvf exp_imp_D652_L02112.tar exp_imp_D652_L02112
   将exp_imp_D652_L02112压缩成exp_imp_D652_L02112.tar文件
unzip *.zip             解压.zip文件


 1)*.tar   用 tar –xvf 解压
 2)*.gz   用 gzip -d或者gunzip 解压
 3)*.tar.gz和*.tgz 用 tar –xzf 解压
 4)*.bz2   用 bzip2 -d或者用bunzip2 解压
 5)*.tar.bz2  用tar –xjf 解压
 6)*.Z   用 uncompress 解压
 7)*.tar.Z   用tar –xZf 解压
 8)*.rar   用 unrar e 解压
 9)*.zip  用unzip 解压

 

df   显示所有文件系统对i节点和磁盘块的使用情况
df -a   显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统
df -k    显示磁盘空间使用情况(以k字节为单位)
df -i   显示i节点信息,而不是磁盘块
df -t   显示各指定类型的文件系统的磁盘空间使用情况
df -x   列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反) 
df -T   显示文件系统类型

top   查询用户CPU的利用率(负荷) 
ps aux |grep websms 查询websms各模块CPU的占用情况
ps -ef | grep websms 查询WebSMS服务是否运行
vmstat 2   检查内存占用状态
ifconfig -a  检查内存占用状态

uname -a                切换至root用户,检查操作系统版本信息
sqlplus -v  切换至oracle用户,检查数据库版本信息


netstat -an|grep 服务器端口号 
   查看tomcat服务器端口是否被占用
netstat -an|grep 8080 查看8080端口是否被占用

mstsc   在运行里输入mstsc,是远程连接别的机器
\\10.71.169.103\d$ 在别的Demo机器上访问(10.71.169.103)机器 (\\10.71.169.103\d$输入在硬盘搜索栏)


ps - fu oracle  查看是否存在一个或多个oracle进程,并且存在一个tnslsnr进程

lsnrctl status  查看Oracle数据库的监听服务
lsnrctl stop  关闭Oracle数据库监听
lsnrctl start  启动Oracle数据库监听

sqlplus "/as sysdba" 以系统管理员登录
shutdown immediate 关闭数据库 
startup   启动数据库
reboot   重启系统(机器)
rcnetwork restart   重启网络


ping ip   
或 ping 主机名  查看远程系统网络连接是否正常
ping -c 3 ip  查看网络连接情况,不过只有3个回应

电子邮件的使用简介
1. 将文件当做电子邮件的内容送出
语法:mail -s “主题”用户名@地址< 文件
例如:
mail -s “program” user < file.c 将file.c 当做m a i l的内容,送至user,主题为program。
2. 传送电子邮件给本系统用户
语法:mail 用户名
3. 传送电子邮件至外地用户
语法: mail 用户名@接受地址
例如:
mail weisongzhou@hotmail.com
Subject : mail test
:
:
键入信文内容
:
:
按下Ctrl+D 键或. 键结束正文。
连按两次C t r l + C键则中断工作,不送此信件。
Cc( Carbon copy) : 复制一份正文,给其他的收信人。
3. 检查所传送的电子邮件是否送出,或滞留在邮件服务器中
语法:/usr/lib/sendmail -bp
若屏幕显示为“Mail queue is empty” 的信息,表示mail 已送出。
若为其他错误信息,表示电子邮件因故尚未送出。

 

chkconfig -list|grep -i fire
   查看防火墙状态 
chkconfig --level 5 SuSEfirewall2_init off
   关闭防火墙 
if [ $? -ne 0 ];then    如果上一条命令执行后的结束代码不是0则执行下面的命令,直到fi行之前

ssh ip(小网)  (在别的单板上)通过小网连接单板

hastop -all  停止双机
hastart   启动主机/备机
hastatus  查看双机状态
hares -state  查看双机详细状态情况

sqlplus /nolog  连接数据库
connect / as sysdba 以sysdba登录数据库
shutdown immediate 停止数据库
lsnrctl stop  停止数据库监听
lsnrctl start  启动数据库监听
startup   启动数据库

service dhcpd status 检查DHCP服务器状态
service dhcpd stop 停止DHCP服务器
service dhcpd start 启动DHCP服务器
service dhcpd restart 重启DHCP服务器

drop tablespace INFOX_WEB_MAIN_INDEX including contents;
   删除表空间INFOX_WEB_MAIN_INDEX报错时,可通过设置表空间不在线删除
   (alter database datafile '/home/oracle/websms1/raw22' offline drop;)


一般模式:移动光标的方法(常用)
Ctrl+f   显示器“向下”移动一页,相当于 [Page Down]按键
Ctrl+b   显示器“向上”移动一页,相当于 [Page Up] 按键
0   这是数字“ 0 ”∶移动到这一行的最前面字符处
$   移动到这一行的最后面字符处
G   移动到这个文件的最后一行
gg   移动到这个文件的第一行,相当于 1G
n<Enter>  n 为数字。光标向下移动 n 行

head -n 200 config.txt > test.txt 
   把config.txt文件中最前面200行(从第1行开始)记录复制到新的test.txt文件中
sed -n 200,300p config.txt > test2.txt
   吧config.txt文件中从第200行到300行之间记录复制到新的test2.txt文件中
tail -n 200 config.txt > test3.txt
   把config.txt文件中最后面200行记录复制到新的test3.txt文件中


一般模式∶ 搜寻与取代(常用)
/word   向光标之下寻找一个字串名称为 word 的字串。
   例如要在文件内搜寻 vbird 这个字串,就输入 /vbird 即可
:n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字串,并将该字串取代为 word2 。
   举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则∶ “:100,200s/vbird/VBIRD/g”
:1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字串,并将该字串取代为 word2
:1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字串,并将该字串取代为 word2 。
   且在取代前显示提示符给用户确认 (conform) 是否需要取代

一般模式∶ 删除、复制与贴上(常用)
x, X   在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键),
   X 为向前删除一个字符(相当于 [backspace] 亦即是倒退键)
dd   删除光标所在的那一整列
ndd   n 为数字。删除光标所在的向下 n 列,例如 20dd 则是删除 20 列
yy   复制光标所在的那一行
nyy   n 为数字。复制光标所在的向下 n 列,例如 20yy 则是复制 20 列
u   复原前一个动作
Ctrl+r   重做上一个动作
   这个 u 与 [Ctrl]+r 是很常用的命令。一个是复原,另一个则是重做一次
.   这就是小数点。意思是重复前一个动作的意思。 如果您想要重复删除、重复贴上等等动作,按下小数点“.”就好了

进入编辑模式(常用)
i, I   插入∶在目前的光标所在处插入输入之文字,已存在的文字会向后退; 其中, i 为“从目前光标所在处插入”,
   I 为“在目前所在行的第一个非空白字符处开始插入”
a, A   a 为“从目前光标所在的下一个字符处开始插入”, A 为“从光标所在行的最后一个字符处开始插入”
o, O   这是英文字母 o 的大小写。o 为“在目前光标所在的下一行处插入新的一行”; O 为在目前光标所在处的上一行插入新的一行
r, R   取代∶r 会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下 ESC 为止
   上面这些按键中,在 vi 界面的左下角处会出现“--INSERT--”或“--REPLACE--”的字样。由名称就知道该动作了吧。
   特别注意的是,我们上面也提过了,你想要在文件里面输入字符时, 一定要在左下角处看到 INSERT/REPLACE 才能输入。
Esc   退出编辑模式,回到一般模式中


批命令命令模式(常用)
:w   将编辑的信息写入硬盘文件中
:w!   若文件属性为“唯读”时,强制写入该文件。不过,到底能不能写入,还是跟您对该文件的文件权限有关。
:q   离开 vi
:q!   若曾修改过文件,又不想储存,使用 ! 为强制离开不储存文件。
   注意一下,那个惊叹号 (!) 在 vi 当中,常常具有“强制”的意思
:wq   储存后离开,若为 :wq! 则为强制储存后离开

 

WebSMS目录的"tools"目录下几个脚本:
vi config.sh  进入config.sh脚本配置
p (sh p.sh)  显示当前"websms"用户下,各个模块进程的运行情况
sh monitor.sh  监控websms进程的运行情况
sh start.sh  启动websms进程各个模块的服务
sh restart.sh  重启websms进程各个模块的服务
sh stop.sh  停止当前websms用户下各个模块运行的进程
sh config.sh  使config.sh文件中修改的配置项值生效
sh encry.sh  用于密码加密,以AES128算法来加密密码
sh SHA-256.sh  用于密码加密,以SHA-256算法来加密密码

 


windows下
ipconfig  查看本机IP
ipconfig /all  查看本机所有的信息(IP,MAC)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值