linux基础
1、clear\history
clear清理命令行窗口
history显示执行命令的历史记录
history
n最后n条记录
!n执行历史记录中的第几条命令
!! 重复执行上一条命令
2、date\uname
date显示时间
uname显示操作系统信息
3、--help \man
查看命令帮助的方法:
命令- -help(如:uname - -help)
man命令(如:man uname按q退出)
4、在命令行中同时使用多个命令,用;隔开
[root@node1
~]# date;uname -a
Tue
Mar 22 09:29:15 CST 2016
Linux
node1 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386
GNU/Linux
5、pwd\cd
显示当前路径
[oracle@node1
~]$ pwd
/home/oracle
cd改变目录位置
cd绝对路径
[oracle@node1
~]$ cd /u01/app/oracle/soft/dul
[oracle@node1
dul]$ pwd
/u01/app/oracle/soft/dul
cd
HOME目录
[oracle@node1
dul]$ cd ~(也可直接cd)
[oracle@node1
~]$ pwd
/home/oracle
cd上一层目录
[oracle@node1
~]$ cd ..
[oracle@node1
home]$ pwd
/home
6、ls
参看当前路径下的内容(具体参数的选用参照上面第四条的两种方法)
[oracle@node1
~]$ ls -lrt
total
8
drwxr-xr-x
2 oracle oinstall 4096 Mar 10 18:36 soft
-rw-r--r--
1 oracle oinstall0 Mar 11 10:03
recover
-rw-r--r--
1 oracle oinstall0 Mar 11 10:03 Decimal
ls –F
显示文件类型
[oracle@node1
~]$ ls -F
00x000b74142330Decimalrlj@t1.txt
07414233011Alterrecoversoft/zhixing.sh*
7、cat\more\tail\head\wc
这些都是查看文件内容的命令
cat文件名
由于cat在显示文件内容时无法暂停,因此,查看前请预估文件内容大小。同时推荐大家在使用此命令前,使用file命令确认下文件类型。
more文件名
less文件名
相对more命令而言,多了可以用上下箭头浏览
head –n文件名
显示文件的前几行
tail –n文件名
显示文件的后几行
tail –f文件名
实时跟踪文件的变化信息,会一直显示文件的最尾部
wc –options文件名
8、cp\scp
cp huifu.sh
../huifu02.sh
把huifu.sh拷贝到上一层目录下,并把名字改为huifu02.sh
scp
scp文件名 用户@目标ip:路径/新文件名拷贝到远程
scp用户@目标ip:路径/文件名 新文件名远程拷贝到本地
文件夹 加-r
9、mv
移动文件或者重命名文件
mv huifu02.sh
huifu03.sh
mv huifu03.sh
/u01/app/huifu04.sh
10、touch\mkdir
touch一个已存的文件名,仅仅对此文件的修改时间和访问时间进行更新。
可以使用直接或相对路径名来指定并建立新文件
touch test01
mkdir创建目录
mkdir目录名,在当前路径下新建目录
mkdir –p绝对路径/目录名,如果绝对路径不存在,也会创建相应的一层层目录
如:
[root@node1 test]# ls /u01/kkk/jjj
ls: /u01/kkk/jjj: No such file or
directory
[root@node1 test]# mkdir /u01/kkk/jjj
mkdir: cannot create directory
`/u01/kkk/jjj': No such file or directory
[root@node1 test]# mkdir -p /u01/kkk/jjj
[root@node1 test]# ls /u01/kkk/jjj
[root@node1 test]#
11、rm
删除文件
rm文件名
rm –r目录名
12、ln
ln -s source_directory target_directory
ln -s source_file target_file
[root@node1 test]# ln -s
/u01/app/oracle/soft/dul /u01/app/oracle/soft/test/lntest
[root@node1 test]# ls
hhhlntestyyy
[root@node1 test]# cdlntest/
[root@node1 lntest]# pwd
/u01/app/oracle/soft/test/lntest
[root@node1 lntest]# ls
control.duldul4i386-linux.tar.gzdul.log
lntest软连接到dul目录下
13、grep
[root@node1 dul]# grep 'swz'
/u01/app/oracle/soft/dul/test001
swz
swzffff
[root@node1 dul]# ps -ef | grep smon
root3448 308980 14:51 pts/300:00:00 grep smon
oracle3227510 10:30 ?00:00:01 ora_smon_10gtest
14、vi编辑器
15、修改权限
chmod u+x文件名
-rw-r--r-- 1 root root5 Mar 22 15:48 test01
[root@node1 pp]# chmod 775 test01
[root@node1 pp]# ls -la test01
-rwxrwxr-x 1 root root 5 Mar 22 15:48
test01
16、kill命令
kill -9进程号
(kill -URG 21199终止SQL,并不杀死进程)
17、tar/jar
压缩命令
[root@node1 soft]# tar -cvf oracle.tar dul
test log
显示tar包里的文件
tar –tf oracle.tar
18、zip/unzip
[root@node1 soft]# zip oracle.zip dul test
log
-rw-r--r-- 1 rootroot35901440 Mar 22 16:04 oracle.tar
-rw-r--r-- 1 rootroot378 Mar 22 16:11 oracle.zip
19、ssh
ssh用户@远程IP
20、ftp\sftp
FTP是一种用于在TCP/IP网络上进行文件传输的网络协议
FTP支持两种类型传输模式:
?ASCII模式
?主要用于传输平文件,如text文本文件
?二进制Binary模式
?主要用于传输二进制文件,图片或其他非文本文件
Secure FTP(SFTP)是一个类似FTP的交互式文件传输程序
SFTP除了像FTP一样进行文件访问,传输,管理之外,同时对传输的数据进行了SSH加
密处理,因此更加安全。作为SSH协议的一种扩展工具,SFTP也可以使用SSH的一些特
性,如公钥授权和安全压缩等。
21、shell通配符
使用波浪符(~),来代表当前用户home目录
使用波浪符(~)后加用户名,来代表指定用户的home目录
使用短破折符(-),来代表之前工作目录
星号(*)扩展符,又称通配符,其代表了0个或多个字符
问号(?)符,是代表了单个字符的通配符
方括号([ ])代表了可能的字符集合或字符范围下的单个字符位置
?特定字符集定义,如[abc],[xytb]
(注意:字符集定义和其字符顺序无关,[abc]等同于[cab]。
?范围字符定义,使用短破折号(-),如[a-z], [0-9]等
(注意:[A-Z]和[a-z]分别用于查询大写字符和小写字符,对于大小写应该有所区分)
可以通过大括号{}的扩展功能来生成随机字符串,其随机字符串来自大括号中以逗号分隔的字符或字符串
22、shell特殊字符(元字符)
使用小于号(
[root@node1 dul]# wc -l < test001
12
使用大于号(>)元字符可以将输出重定向到文件中,而不是在显示屏上进行输出显示
如果重定向的文件不存在,系统会新建此文件。
如果文件存在,则重定向输出会覆盖文件中的内容。
注意:如果不希望覆盖原有文件内容,而是在文件内容后续写,可以使用两个大于号(>>)进行重定向操作
管道符的作用是将一个命令的标准输出重定向为另一个命令的标准输入
第一个命令将输出写到标准输出,而第二个命令将第一个命令的输出结果作为标准输入
从标准输出中进行读取
[root@node1 dul]# ps -ef | grep ssh
root3831 308980 15:18 pts/300:00:00 grep ssh
root383710 Mar21 ?00:00:00 /usr/sbin/sshd
引用字符有:
?单引号(‘ ‘):引导shell无视被包含在内的元字符。
?双引号(“ “):除以下情况外,引导shell无视被包含在内的元字符
?反斜杠(\):避免shell对反斜杠(\)后的下一个字符作为元字符进行翻译
?单个反单引号(`):执行之后的shell命令并显示其输出
?小括号( $(command) ):执行括号中的命令并显示其输出
[root@node1 dul]# echo '$(cat test001 | wc
-l)'
$(cat test001 | wc -l)
[root@node1 dul]# echo "$(cat test001
| wc -l)"
12
[root@node1 dul]# echo "\$(cat
test001 | wc -l)"
$(cat test001 | wc -l)
[root@node1 dul]# echo "cat test001 |
wc -l"
cat test001 | wc –l