linux 基础学习 常用命令
1.cd ,cd ..,cd /
命令格式:cd <路径>or<特殊符号>
意义:cd是change directory 的缩写;
cd : 返回主目录
cd .. : 返回上一级目录
cd / : 返回根目录
cd - : 返回进入此目录之前所在的目录
2.ls,ls -l(说出各列含义),ls –a
ls 只显示文件名或者文件目录
ls –a 列出目录下的所有文件,包括以 . 开头的文件 .”(表示当前目录)和“..”(表示当前目录的父目录)
ls -l(这个参数是字母L的小写,不是数字1) 用来查看详细的文件资料
在某个目录下键入ls -l可能会显示如下信息:
文件属性(占10个字符空间) ,文件数 ,拥有者 ,所属的group ,文件小,建档日期 ,文件名
这些显示内容的意义:
第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,
d表示目录,例如drwx------;
l表示链接文件,(类似与快捷键之类)如lrwxrwxrwx;
-则表示这是普通文件。
B 表示块设备文件
C 表示字符设别文件
S 套接字文件表示该文件为sock文件。与shell编程有关的文件。
P 表示管理文件,表示该文件为命令管道文件。与shell编程有关的文件。
其余剩下的格子就以每3格为一个单位。
因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例): rwx(Owner)r-x(Group)r-x(Other)
使用者 自己可读,可写,可执行;
同一组的用户 可读,不可写,可执行;
其它用户 可读,不可写,可执行。
另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。
第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
背景色黄色
SGID特殊权限文件
-r-xr-sr-x
背景色红色
SUID特殊权限文件
-rwsr-xr-x
背景色绿色
SBIT特殊权限文件
drwxrwxrwt
3.pwd
pwd
是Print Working Directory
的缩写,其功能是显示当前所在工作目录的全路径。主要用在当不确定当前所在位置时,通过pwd
来查看当前目录的绝对路径
4.ps -ef|grep java
查看当前进程
其中各列的内容意思如下
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示 ? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
5.kill -9 pid
命令格式:kill PID码
意义:结束当前进程
先通过输入命令 ps au查看进程,找到需要终止进程的PID再通过kill PID即可,如我这里想要终止的进程是vim test.py,查到的PID是3163,我们可以输入kill 3163结束这个程序,如果结束不了,可以通过kill -9 PID码强制结束,即kii -9 3163
6.tail -f -n20 文件名
命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容
-f 循环读取
-n<行数> 显示行数
7.cat 文件名
cat主要有三大功能:
1.一次显示整个文件。
cat filename
2.从键盘创建一个文件。
cat > filename
只能创建新文件,不能编辑已有文件.
3.将几个文件合并为一个文件。
cat file1 file2 > file
cat具体命令格式为 : cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
参数:
8.mkdir命令
意义:mkdir是make directory 的缩写。用于创建文件夹。创建文件夹前需保证当前用户对当前路径有修改的权限。
命令格式: mkdir 文件夹
示例:
mkdir /data/path 在/data路径下创建path文件夹。
mkdir -p a/b/c 参数 -p用于创建多级文件夹,这句命令表示在当前路径下创建文件夹a, 而a文件夹包含子文件夹b,b文件夹下又包含子文件夹c。
9.rm命令
意义:rm是remove 的缩写。用于删除文件或文件夹,常用参数-r -f,-r表示删除目录,也可以用于删除文件,-f表示强制删除,不需要确认。同样的,删除文件前需保证当前用户对当前路径有修改的权限。
命令格式: rm <文件> 或 rm -r <文件夹>
1.rm -rf * 删除当前目录下的所有文件,这个命令很危险,应避免使用。
所删除的文件,一般都不能恢复!
2.rm -f 其中的,f参数 (f --force ) 忽略不存在的文件,不显示任何信息
不会提示确认信息。
3.rm 命令删除一个目录中的一个或者多个文件或者目录,只用rm命令不会
删除目录,通常文件通常可以恢。
10.cp命令
意义:cp是copy 的缩写。用于复制文件或文件夹。
命令格式: cp <文件><目标文件>或者cp -r<文件夹><目标文件夹>
-a :将文件的特性一起复制
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i :若目标文件已经存在时,在覆盖时会先询问操作的进行
-r :递归持续复制,用于目录的复制行为
-u :目标文件与源文件有差异时才会复制
示例:
cp /data/logs /data/local/tmp/logs 复制/data路径下的logs到/data/local/tmp路径下。
cp 1.sh /sdcard/ 复制当前路径下的1.sh到/sdcard下。
11.vim 文件名,在vim中修改文本,保存退出,不保存退出等
安装: yum –y install vim
打开:
vim filename |
打开或新建一个文件,并将光标置于第一行的首部 |
vim -r filename |
恢复上次 vim 打开时崩溃的文件 |
vim -R filename |
把指定的文件以只读方式放入 Vim 编辑器中 |
vim + filename |
打开文件,并将光标置于最后一行的首部 |
vi +n filename |
打开文件,并将光标置于第 n 行的首部 |
vi +/pattern filename |
打幵文件,并将光标置于第一个与 pattern 匹配的位置 |
vi -c command filename |
在对文件进行编辑前,先执行指定的命令 |
修改:
i |
在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
I |
在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
o |
在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
O(大写) |
在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
a |
在当前光标所在位置之后插入随后输入的文本 |
A |
在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令 |
查找
/abc |
从光标所在位置向前查找字符串 abc |
/^abc |
查找以 abc 为行首的行 |
删除
x |
删除光标所在位置的字符 |
dd |
删除光标所在行 |
ndd |
删除当前行(包括此行)后 n 行文本 |
dG |
删除光标所在行一直到文件末尾的所有内容 |
D |
删除光标位置到行尾的内容 |
:a1,a2d |
函数从 a1 行到 a2 行的文本内容 |
保存
:wq |
保存并退出 Vim 编辑器 |
:wq! |
保存并强制退出 Vim 编辑器 |
:q |
不保存就退出 Vim 编辑器 |
:q! |
不保存,且强制退出 Vim 编辑器 |
:w |
保存但是不退出 Vim 编辑器 |
:w! |
强制保存文本 |
:w filename |
另存到 filename 文件 |
x! |
保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令 |
:e! |
放弃所有修改,从上次保存文件开始再编辑 |
ZZ |
直接退出 Vim 编辑器 |
12、chmod [-R] 777 文件名/文件夹/通配符,说出777的含义
chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符。777,第一个7代表文件所属者的权限,第二个7代表文件所属者所在组的权限,第三个7代表其它用 户的权限,7=4+2+1,在linux中权限是可以通过数字来描述的。具体表示如下:
4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
1,设置粘着位。
chmod:在linux系统中它用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
参数-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) 。
777,第一个7代表文件所属者的权限,第二个7代表文件所属者所在组的权限,第三个7代表其它用 户的权限,7=4+2+1,在linux中权限是可以通过数字来描述的。具体表示如下:
4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。
2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。
1,设置粘着位。
777:分别对应文件实际拥有者,文件实际拥有者所在的组,其它用户的权限,数字权限是基于八进制数字系统而创建的,读权限(read,r)的值是4,写权限(write,w)的值是2,执行权限(execute,x)的值是1,没有授权的值是0。因此777就是rwxrwxrwx
*:通配符,指当前目录下的所有文件及目录
12.netstat -tunlp | grep 端口号
netstat -tnl | grep 443 (查看443端口是否被占用),如果有当前是root用户
netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID)。
13.ifconfig或ip a
Ifconfig 没有任何参数选项,显示当前所有网络状态(以太网 ;本地回送)
第一行:连接类型:以太网(以太网)HWaddr(硬件mac地址)
第二行:网卡的IP地址,子网,长度
第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持允许)MTU:1500(最大传输单元):1500字节
第四,五行:接收,发送数据包情况统计
第七行:接收,发送数据字节数统计信息。
14.tar -zxvf a.tar.gz 解压()
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
-------------------------------------
tar -xZvf file.tar.Z //解压tar.Z
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
15. 安装 yum -y install 下载: wget
yum -y install wget
yum –y install vim
执行命令yum -y list java*
查看可安装java版本
yum -y list java*
16.ps命令
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
命令格式
ps命令基本格式为:
ps [options]
常用参数
-A 显示所有进程(同-e)
-a 显示当前终端的所有进程
-u 显示进程的用户信息
-o 以用户自定义形式显示进程信息
-f 显示程序间的关系
可使用命令man ps查看,
实例
ps au 查看进程
ps –A 显示所有进程信息
ps–ef 显示所有进程基本信息
ps -ef|grep java
显示关于java 查看tomcat进程基本信息
ps –aux 查看进程占用内存,cpu利用率等信息
ps –elf 显示线程相关信息
ps –o 可以指定要显示的列查 看指定进程指定信息 只需要在最后指定–pid参数即可
字段含义
ps命令输出各字段的含义,这样我们才能更好地理解所展示的信息。
常见字段的基本含义如下:
USER 进程所有者的用户名
PID 进程号
START 进程**时间
%CPU 进程自最近一次刷新以来所占用的CPU时间和总时间的百分比
%MEM 进程使用内存的百分比
VSZ 进程使用的虚拟内存大小,以K为单位
RSS 驻留空间的大小。显示当前常驻内存的程序的K字节数。
TTY 进程相关的终端
STAT 进程状态,包括下面的状态:
D 不可中断 Uninterruptible sleep (usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
N 低优先级
L 有些页被锁进内存
s 包含子进程
\+ 位于后台的进程组;
l 多线程,克隆线程
TIME 进程使用的总CPU时间
COMMAND 被执行的命令行
NI 进程的优先级值,较小的数字意味着占用较少的CPU时间
PRI 进程优先级。
PPID 父进程ID
WCHAN 进程等待的内核事件名