linux学习—基本命令

来源:互联网 发布:网络黑白免费阅读 编辑:程序博客网 时间:2024/05/18 03:51

shell的启动依赖用户帐户的配置,在/etc/passwd文件包含所有用户的基本配置信息

vim /etc/passwd 里面的内容

root:x:0:0:root:/root:/bin/bash:用户名,密码,用户的系统uid,用户的系统gid(组id),用户的全名,用户的默认主目录,用户的默认shell程序,用户的密码被保存在另一个文件

/etc/shadow ,特定程序才能访问

添加新用户,useradd -m 会默认新建home目录

删除目录:userdel  加上-r 会删除掉对应的home和mail目录

其他的文件目录不会改变

修改用户usermod

修改密码:passwd 用户名

添加组groupadd

用户添加到组里其实是修改用户

usermod -G 组名 用户名

-G 会将这个组名添加到该用户的组列表

关于文件的权限 drexrwxr-x 第一个字符的解释:-:文件 d:目录,l:连接 b:块,n:网络

文件的权限是666,目录的权限是777

umask会在/etc/profile启动文件中设置,这样创建文件就会有默认的权限


创建文件和目录


目录是777 则777-022=755 :rwxr-xr-x

文件是666 则666-002=644:rw-r--r--

改变权限:chmod

改变所属关系:chgrp :改变组

默认bash shell启动时会自动处理用户主目录下.bashrc文件中的命令,.bashrc:公共文件保存着针对所有系统用户的命令和设置,/etc/bashrc:会设置各种应用程序中用到的环境变量。 

       shell命令行的提示符$:表明在等待用户输入

           [root@master data]:用户名@控制台编号 当前目录

也可以多添加些信息:命令PS1控制默认命令提示行的格式

                                        命令PS2控制hi后续命令提示行的格式

例子:PS1=“[\t][\u]\$”

下面介绍操作文件的常用命令:

man:访问存储在Linux系统上的手册页面,你要查询的工具名前输入man,例:man bash     会显示一些信息,命令名称简介,相似命令等

cd :切换目录

ls :显示当前目录下的文件和目录

ls -F 可以-F 区分目录和文件,-F会在目录后加/  

ls -a 查看隐藏文件-a,隐藏文件是以句号开头的文件

ls -R:递归展示目录中的文件

ls -F -R

ls -l :多一点展示文件或目录的信息

ls -sail 比较常用,s,文件块的大小,a:全部的文件,i:索引节点(inode),l:长文件

常用的是这些,其余的用man ls 看吧

ls支持过滤器

ls -l  hadoop*

匹配目录或文件名包含hadoop的文件

*(0~n)

?一个字符


关于创建文件

touch创建空文件,当然也可以改变这个文件的时间

touch -t 201712251200 test

复制文件:cp

cp test1 test2

test2:时间戳等是新的,也就是完全是新文件,新的创建修改时间,可以用-p保留原先的时间


cp会创建文件的连接

cp -l test1 test2 :创建硬连接

cp -s  test1 test3 :创建软连接


软连接和硬连接的区别,他们的索引节点是不一样的,test1和test的索引节点一样说明是一个文件,他们的文件大小创建时间都是一致的

test2和test就不一样的,他明显比test小,并且是新文件,创建时间是新的,文件的索引节点号也是新的。

综上:其实软连接相当于快捷键,是创建了一个文件,指向原始文件,硬连接就是该文件

另外创建连接也可以用ln命令,他默认创建硬连接,加-s才会创建软连接


关于mv:移动或者重命名文件

mv test1 test2

移动文件并重命名

rm 删除文件

rm 删除了有硬连接和软连接的test1.txt时,会发现硬连接还能打开,并展示内容,但是软连接已经找不到了,所以只有删除了最后一个硬连接,才能真找不到源文件

rm -f 不提示删除询问

 rm -r 递归

常用删除方式 rm -rf

mkdir dir3 创建目录

查看文件内容:

stat:提供某个文件系统上的所有状态信息

file text 查看文件类型,文本文件,可执行文件,数据文件

查看文件内容的命令:

cat :

    cat -n 显示内容加行号

     对于空白行不加行号 cat -b

more:一屏一屏的展示文本内容

less:可以上下翻页

查看文件的部分内容:tail和head

    tail -n 3:显示文件的最后三行

    tail -f:让tail一直活跃,如果其他进程使用该文件并添加,这个就能实时监控,这是实时检测系统日志的绝妙方式

    tail -c 3 :显示最后3个字节的字符

head:也有-c和-n,没有-f

关于系统管理的常用命令:

程序运行在系统上就是进程(process),ps就是用来输出所有程序的信息

bash shell也是运行在系统上的另一个程序

查看系统上所有运行的进程 ps -ef : -e:全部进程 -f 显示完整格式的输出

ps -efH 当然-H也很好可以以树的形式展现,就能看到启动,多系统用户定位失控进程

top能实时监测进程:

第一行


第一行的信息:当前时间,系统运行时间,系统用户数,及系统平均负载 ,1分钟,5分钟,15分钟的平均负载,如果最近一分钟负载高可以理解,但是如果15分钟负载高,可能系统有问题(超过2可能就繁忙了)

第二行显示的是进程的概要信息:多少个进程在运行睡眠停止讲话

第三行是cpu的情况

第三四行是内存状态

最后一大部分是进程的运行详细列表

结束进程:

    kill 3940 :使用kill你必须是kill的属主或root,kill的信号强制性最强,可能会导致文件损坏

    关于linux的进程信号:hup挂起,int中断,quit结束进程,kill无条件终止,segv:段错误,term尽可能终止,stop无条件停运行但不终止,tstp停止或暂停,但继续在后台运行

    cont:在stop或者tstp后恢复运行

    killall:支持进程名停止,而不是进号,支持通配符?和*,负载过大变得很慢的时候很有用

    killall http*

监测磁盘空间:

挂载:mount

mount -t vfat /dev/sdb1 /medis/disk  手动将U盘/dev/sdb1挂载到 /medis/disk,挂载了虚拟目录,就拥有了对该设备的所有访问权限

可以挂在iso文件

mount -t iso9660 -o loop aaa.iso mnt

ls 查看挂载的文件,就可以使用挂载里面的文件了

umount :有挂载就要有卸载(移除挂载的可移动设备),先卸载才能在光驱中取出光盘

umount   /home/rich/mnt :如果正在使用就不能移除


df:查看已挂载设备的磁盘使用情况,-h用于将磁盘空间使用情况转换成G或M为单位的数字

du:显示磁盘的使用情况(可以看出是不是有超大文件)


处理数据文件:

sort:对数据进行排序:

-n 数字识别排序

-t 按什么分割 -k,按分割后的第几段排序

sort -t',' -k 8 -n test.txt :按逗号分隔,第8段转成数字进行排序

搜素文件的内容:

     大文件中找一行数据:grep 450  test :在文件test中包含450 的行展示出来

当然也可以找不包行这个字符的行 grep -v 450 test

也可以展示匹配的行数-c :grep -cv 450 test

也可以输出行号 -n

如果要多匹配模式 -e

grep -ve 5 -e X test.txt  不包含5 包含X的行

关于压缩:.bz2,.Z,.gz,.zip

    常见:.zip

         .Z是compress的结果,解压也当然是uncompress

        zip和unzip

使用最广泛的归档工具:tar -c 创建归档文件 -X 解压归档文件

         tar -cvf test.tar test/

        tar -tf test.tar :不解压列出内容

       tar -xvf test.tar:解压文件















原创粉丝点击