1.man 显示命令的详细信息 clear清屏命令
cd- -help mkdir- - help查看命令的帮助信息
2.date / cal / whowhoami查看日期、日历、登录的用户、当前登录用户 非图形界面切换使用
3.ifconfig查看网络连接
4.pwd命令 “print working directory”(打印当前工作目录)
cd
1.功能说明:进入(打开)目录,相当于WINDOWS系统中的打开文件夹
2.常见用法:
a) #cd/usr/include改变任意一目录为当前目录。
b) #cdTest当前目录下一目录. (Test是一个已经存在的目录)
c) #cd 转至登陆时的工作目录,即用户目录.
d) #cd.. 回到上一层目录。
e) #cd../.. (返回上两级目录,相当于cd..两次)
3.特别用法:
a)cd~ 进入当前用户目录
b)cd~/Test 进入当前用户的Test目录
c)cd-回到刚才的工作目录,相当于WINDOWS中的ALT+Tab
4.关于用户目录
在Linux系统中,用户登录时会首先进入用户目录,就像WINDOWS系统登录后会首先进入桌面一样(桌面实际上是系统盘下的一个目录.)
例如:登录系统时都会默认进入/home/aoran目录.
5.关于特殊目录
. 表示当前目录,例如: ./test.sh执行当前目录下的test.sh脚本
.. 表示上一级目录,例如:cd..回到上一级目录 ls ..显示上级目录下的文件信息
ls [-l] [-t] [-a] [-s] [-r] [-F] [file..]
1.功能说明:用于查看目录下的文件信息,显示文件或目录
Linux是一种文件系统,系统中的任何元素包括文件,目录,链接,甚至硬件设备都会做为文件来处理.
2.参数说明:
-a列出所有的文件。包括隐藏文件。
-l用长格式显示匹配项(文件或目录),权限,所有者,大小和最后修改日期。
-t以最近修改时间/日期顺序列出(最新的在首位)
-s
cp [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R } {SourceFile TargetFile |SourceFile ... TargetDirectory |SourceDirectory ... TargetDirectory }
1.功能说明:拷贝文件到另一个文件 , 将文件拷到一个目录下.拷贝目录到另一个目录
2.参数说明:
-f 强制拷贝(AIX中,如果文件写操作没有打开,则首先清除目标文件)
-h 复制符号链接
-i 带命令提示的拷贝,提示将被告覆盖的文件
-p 属性拷贝,除了拷贝文件以外,还会拷贝文件的属性信息
-r 级连拷贝,拷贝目录下所有文件和子目录到目标目录下
-R 复制特殊设备文件
3.常见用法:
a)在当前目录将test 作拷贝。
# cp test test.bak
b)将当前目录的test文件拷贝到/home/aoran/Test目录
# cp test /home/aoran/Test
c)拷贝Test下的所有文件到Test1目录下
# cp /home/aoran/Test/* /home/aoran/Test1
d)级连拷贝.拷贝Test下所有文件和子目录到Test1目录下,如果Test1目录不存在则创建,如果存在则覆盖
# cp -r /home/aoran/Test /home/aoran/Test1
e)将当前目录下的hello hello1 文件拷贝到Test目录下.
# cp hello hello1 /home/aoran/Test
f)将用户目录下的programs目录下所有以.c结尾的文件拷贝到当前目录
# cp ~/programs/*.c .
g)属性拷贝,除了拷贝文件以外,还会拷贝文件的属性信息。这种拷贝方式可以把一个文件的权限,用户信息,时间属性完全拷贝。
# cp -p test test.bak
mv
1.功能说明:移动或重命名文件和目录
2.命令格式:mv [-i]源 目标文件(或目录)
3.应用举例:
a)将文件test更名为mytest,相当于重命名
$mv test mytest
b)将文件test移动到目录Test下
$mv test Test
c)将文件mv /home/aoran/Test/test移动到目录aoran下
$mv /home/aoran/Test/test aoran
d)将目录dir1更名为dir2
$mv dir1 dir2
注意: mv命令在这里有二意性.当目录dir2不存在时,可以将目录dir1更名为dir2 ;如果在当前路径下已经存在一个目录名为dir2 ,那么使用mv dir1 dir2 时,将会把目录dir1整个移动到dir2目录下.
rm
1.功能说明:删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除
2.参数说明:
-i 带命令提示的删除,提示将被删除的文件
-r 同时删除该目录下的所有目录层
3.应用举例:
a)删除Test1目录以及目录中的所有文件
$rm–r Test1
b)带提示删除test文件
$rm –i test
cat [file_name]
1.功能说明:将一个文本文件的内容显示在屏幕上,文件内空不分屏,全部显示.主要用于查看较小的文件.
cat passd > a.txt (将一个文件的内容不显示在屏幕上而输出到另外一处的文件中;)
cat /etc/passwd | grep root 多配合awk/grep和管道使用等。
作用:显示passwd文件中内容中用户名为root的行。)
通过重定向 合并文件
cat test1>test2 test1的内容覆盖到test2上
cat test1 test2 >test3
more命令:一次显示一个文本文件的内容一屏幕
more (一个或多个)文件名
空格键 一次滚动手册一页
回车键 一次滚动手册一行
b 移到上屏 f 移到下一屏
q 退出返回外壳提示
more password.txt
tail命令:
tail [-n] filename
用法一:查看指定行数
tail -20 hello.txt
用法二:默认查看文件最后10行
tail helo.txt;
tail从文件尾部开始阅读文件,主要用于查看log类实时生成的文件。如果需要从头阅读,或者只查看文件的前面几行,可以使用head命令。
head命令:
head [-n] filename
顾名思义,查看文件的先头部分,或者说是从头阅读文件。
如:head -20 hello.txt查看文件的前20行。
tail命令:
tail [-n] filename
用法一:查看指定行数
tail -20 hello.txt
用法二:默认查看文件最后10行
tail helo.txt;
tail从文件尾部开始阅读文件,主要用于查看log类实时生成的文件。如果需要从头阅读,或者只查看文件的前面几行,可以使用head命令。
head命令:
head [-n] filename
顾名思义,查看文件的先头部分,或者说是从头阅读文件。
如:head -20 hello.txt查看文件的前20行。
tar
1.功能说明:可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。
2.语法:tar[主选项+辅选项] 文件或者目录
3.参数说明:
c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
r把要存档的文件追加到档案文件的未尾。例如用户已经作好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
t列出档案文件的内容,查看已经备份了哪些文件。
u更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后
x从档案文件中释放文件。
z用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
3.常见用法
a)把/home目录下包括它的子目录全部做备份文件,备份文件名为usr.tar。
$ tar cvf usr.tar /home
b)把/home目录下包括它的子目录全部做备份文件,并进行压缩,备份文件名为usr.tar.gz。
$ tar czvf usr.tar.gz /home
c)把usr.tar.gz这个备份文件还原并解压缩。
$ tar xzvf usr.tar.gz
d)查看usr.tar备份文件的内容,并以分屏方式显示在显示器上。
$ tar tvf usr.tar | more
要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
ps命令:显示当前用户在系统中启动的进程。
-u:列出由这个用户启动的所有进程。
ps:跟当前终端有关的进程;
常用
ps -aux
ps -auxf | grep inetd
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 790 0.0 0.1 1872 576 tty4 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty4
root 794 0.0 0.1 1872 580 tty5 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty5
root 807 0.0 0.1 1872 576 tty2 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty2
root 809 0.0 0.1 1872 580 tty3 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty3
root 812 0.0 0.1 1872 576 tty6 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty6
root 1311 0.0 0.1 1872 580 tty1 Ss+ 18:12 0:00 /sbin/getty -8 38400 tty1
root 2500 1.6 5.3 36524 27236 tty8 Ss+ 18:33 0:39 /usr/bin/X :0 -br -verbose -auth /var/run/gdm/auth-for-gdm-Jf
root 3861 0.0 0.3 5372 2028 pts/0 Ss 18:36 0:00 bash
root 4125 0.0 0.2 4708 1200 pts/0 R+ 19:14 0:00 ps u
USER用户
UID 用户ID(User ID)
PID 进程ID(Process ID)
PPID 父进程的进程ID(Parent Process id)
SID 会话ID(Session id)
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小(Virtual Size)
RSS 进程使用的驻留集大小或者是实际内存的大小,Kbytes字节。
TTY 与进程关联的终端(tty)
STAT 进程的状态:进程状态使用字符表示的(STAT的状态码)
top命令:
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
显示内容分为两块: 统计信息区 进程信息区
具体可以查看注释
kill命令:结束你无法正常方式退出的不想要的命令处理
当需要中断一个前台进程的时候,通常是使用< Ctrl+c >组合键 man ls;
但是对于一个后台进程就必须使用kill命令
一般用法先通过ps命令取得进程id
kill 12932
有时候可能会遇到这样的情况,某个进程已经挂死或闲置,使用kill命令却杀不掉。这时候就必须发送信号9,强行关闭此进程
kill -9 id
find命令:寻找基于指定标准的文件,然后对匹配的文件执行一个命令
find path expression [action]
指定路径 查找条件 执行的动作
‘-name’按文件名来查找
‘-mtime’按文件最后一次修改时间来查找
‘-user’:按文件的拥有者查找
‘-size’:按文件的大小查找
‘-perm’按照文件的权限查找
‘-type’按类型查找
‘-atime’按最后一次访问时间查找
例如,我们想要查找一个文件名是hello的文件,可以使用如下命令:
find /home/aoran -name hello
可以使用通配符
find / home/aoran-name‘he*'
使用混合查找方式查找文件
如:find /home/aoran -mtime -3 -size -1000-name‘he*' -user aoran
(在目录下查找大小小于1000k,最后修改时间是3天内的,文件拥有者是aoran的文件名前2位是he的文件。)
grep命令:寻找一个包含有一个特定的文本字符串的文件,并把所有包含该部分的行打印到屏幕上
grep [选项]字符串 文件名
经常使用的参数:
-i 当搜索时忽略字符串的大小写
-v 寻找所有不匹配字符串的行(反向查找)
经常与管道连用如:
ls -l | grep –i test
显示目录下有test字母的文件
grep aoran passwd
在文件passwd中查找有aoran的行
grep –v aoran passwd
grep经常配合正则表达式使用
echo
Linux的echo命令,在shell编程中极为常用,类似printf
功能说明:显示文字。
语 法:echo [-ne][字符串]
参 数:-n不要在最后自动换行 ;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。
普通字符串可以在echo后直接输入字符串,但这样当要输出某些字符如\时会有问题(这种写法的时候/是被当作继行符处理过滤掉的,要输出一个\必须打\\)所以一般最好用'string'或"string"的格式,这样即使是\也可以输出,方便直观。
aoran@ubuntu:~$ echo hello world
hello world
aoran@ubuntu:~$ echo hello\ world
hello world
aoran@ubuntu:~$ echo hello\\ world
hello\ world
aoran@ubuntu:~$ echo 'hello\\ world'
hello\\ world
2)echo的转义显示:加上-e参数
输出多行
aoran@ubuntu:~$ echo -e 'hello\nworld'
hello
world
Vi是linux的功能很强大,但是对于用贯了windows编辑器的人,这个用起来很费劲。
VI文本编辑器:
Vi的键盘使用图:大家按提示操作,会打开一个页面,然后保存就可以。
vi的三种模式:
1.调用vi
vi文件名 打开或新建一个文件
vi 打开一个新的以后命名的文件
view文件名 以只读方式打开一个文件
2.位置
向上 k
向下 j
向左 h
向右 l
0回到行首
/$回到行尾
注:均指控制光标
3.输入
i 在光标当前位置插入
a 在光标所在位置后插入
l 在行头插入
A 在行尾插入
o 在光标所在行下插入一空行
O 在光标所在行上插入一空行
<Esc> 退出插入状态
4.删除文本
x 删除一个字符
dw 删除当前词
3dw 删除三个词
dd 删除当前行
5dd 删除五行
:5,10d
5.撤消和更改文本
r 替换一个字符
cw 替换一个单词
cc 替换一行
C 替换从光标至行尾
J 把当前行和下一行连起来
u 废除刚才的编辑操作(即undo)
~ 改变大小写
6.复制和粘贴文本
yy 拷贝行(或Y)
yw 拷贝词
p 当前行下粘贴
P 当前行上粘贴
7.保存和退出文件
:w 存盘
:w 新文件存成新文件
:wq 存盘退出vi(或ZZ,或:x)
:q! 强行退出不存
后续可以根据需要分享sed awk、正则表达式 、文件系统、shell入门等