笔记之Linux系统文件管理命令

基本命令

ls:显示目录文件

      参数:-a显示当前目录下所有文件,包括隐藏文件

                 -l使用长格式显示(显示文件权限,最新修改时间等信息)

                 -F区分显示是一个文件还是目录

                 -R显示文件夹及文件夹里的文件,分级显示出来

                 -d列出指定的目录里的文件及文件夹(如:ls -d test/*:表示把test里的所有文件及文件夹列出来,只 列出test里面的文件;-R列出的是全部,包括其子目录下的所有目录分级显示)

pwd:显示当前所在目录(想知道自己的所在位置路径,可以使用此命令查看)

cd:切换目录

       cd ..:回到上一级目录

       cd~:回到用户的宿主目录

       cd /或cd:切换到跟目录

clear:清空终端屏幕显示(或者Ctrl+l)

alias:设置别名(如:alias ls='ls -l',设置成功后,输入ls命令实际运行ls -l,这是暂时的设置,也可设置永久)

export:设置和显示环境变量

ps:查看系统中运行的进程(监控自己的Linux系统各个进程的瞬时状态),

        ps -a:显示所有终端下执行的程序

top:实时监控系统处理器的状态等信息(实时监控CPU,持续监控,实时更新显示)

kill:杀死系统中运行的进程(对前台运行的进程,可以用Ctrl+c终止,后台进程用kill,会先使用ps、top等命令获得进程的pid,然后用kill命令杀掉进程);

         kill -15 pid(默认是kill pid):此命令发信号让程序正常退出;

         kill -9 pid:这样结束的进程不会进行资源清理工作,若需要用它来终结vim的进程,会有临时文件没有被删除;总之信号15是安全的,而9则是处理异常进程的最后手段

      (参考https://www.linuxidc.com/Linux/2017-05/144137.htm)

uname:显示系统信息(uname -r显示操作系统发布版本,-a显示系统所有信息)

su:切换用户,su - 用户名(普通用户切换到root用户需要输入root密码,反之不用)

hostname:查看主机名称,也可临时修改主机名称

ifconfig:查看和设置网络配置(启动或关闭一个网卡,设置网卡的子网掩码、广播、mtu、修改网络接口、创建虚拟IP)

ping:通常用来测试与目标主机的连通性

route -n :查看路由信息

netstat -ano:用于显示与IP、TCP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况,netstat是在内核中访问网络及相关信息的程序,能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告

df:显示磁盘使用情况

du:统计目标文件占用空间大小(du -sh:显示当前目录占用的空间大小)

文件管理命令

touch:生成空文件或修改文件存取时间

            touch djs(表示当前目录下生成一个名为djs的空文件;生成多个可以在后面直接空格加文件名)

            touch -t 202003211400 aaa(把文件名为aaa的文件时间改为2020年3月21日14:00)

cp:复制文件

        cp -pr +源目录或文件+目标目录(-p保留源文件的日期属性,-r递归复制所有文件)复制文件夹需要加-r,想要重新命名可以直接在目标目录后跟新的名字

rm:删除文件

        rm -irf 文件或目录  ,

       -i 删除前需要确认,

       -r 递归删除目录(用于删除目录),

       -f强制删除,

       批量删除:rm -rf +文件名或目录(多个目标可用空格隔开)

mv :移动文件或目录或修改名称重命名

         mv -if 源文件或目录+目的文件名或目录(-i意思是当已有文件名时提示是否覆盖,-f是强制移动,就算目标文件已经存在,不问直接覆盖掉)

mkdir:创建新的目录

             mkdir+新的文件夹名称(多个文件夹用空格隔开文件名,深层目录需要添加参数-p,如:mkdir -p ad/test/test.txt)

rmdir:删除目录(不能删除非空目录)

          rmdir -p test/009,意思是删除名为009的子目录,-p意思是若删除009后test是空目录,也一起删除

文件查看

cat:查看文件内容(只能看小的文件,若内容覆盖整个屏幕,只显示最后部分,钱面部分看不了)

          也可以创建一个新的文件,如:cat > filename(centOS 7 执行命令后可以直接输入新建的文件内容);

          将几个文件和为一个文件:cat file file1 >file2(合并后多了一个file2,原来的文件还存在)

more:分页显示文件内容(按f键、空格键翻页,enter向下滚动一行,b向上翻页,q退出more

less:按页显示文件内容,上下键滚动一行,空格翻页,q退出(看网上有些资料上下键翻页,空格键滚动一行,我实操的刚好相反,疑是否是系统版本问题,本人版本CentOS 7.7)

head:head -10 file,意思是查看文件file头十行,只显示文件开头十行

tail:tail -10 file,意思是查看文件file末尾10行,只显示10行

 grep:在文件里搜索匹配的行并输出

            grep “www”  11:查找并输出11文件中的含有www的行

            grep 'test' d*:查找以d开头的文件里包含test的行

find:搜索文件或者目录,将在当前目录下查找子目录与文件且全部显示

          find . -name *99*  :“.”代表在当前目录下查找(范围想大的可以换成/,在根分区查找),name是名字,*99*  包含99的。(整个命令意思是在当前目录下查找包含99的文件或目录);

          find / -perm 777:查找所有权限为777的文件;

          find / -type d:根据文件类型查找,返回所以目录类型文件;

用户及用户组管理

adduser:adduser+username(添加用户,新创建账户时封闭的,需要用passwd命令设置密码)

passwd:对当前的用户设置密码(root用户这样设定密码:passwd+username)

userdel:userdel -r username(删除账号同时删除用户主目录及一切文件,若提示被某个程序占用,代表登录过多个用户,可以Ctrl+c退出登录)

groupadd:添加新的用户组(groupadd+用户组名)

groupmod:修改已存在的用户组名(groupmod -n 新组名 旧组名)

groupdel:删除用户组(groupdel+用户组名)

gpasswd:把用户添加进组(gpasswd -a 用户名 用户组名)或从组中删除(gpasswd -d 用户名 用户组名)

打包、压缩与解压

tar:用来打包、压缩和解压文件,tar是打包不是压缩,压缩需要添加参数z,未加则代表打包未压缩;为方便识别,只打包不压缩以.tar结尾命名文件,只压缩不打包则以.gz结尾命名,两者都有则.tar.gz

       -z代表调用gzip压缩.tar文件;

       -c意思是产生一个.tar文件;

       -v将过程显示在屏幕;

       -f指定归档后的文件;

       -x从压缩的文件中提取文件;

       -t显示压缩文件的内容

       tar -vcf 110.tar 110 111 112(意思是把110、111、112三个文件打包成110.tar文件;

       tar -zvcf 110.tar.gz 110 111 112(把这三个文件或目录打包并压缩成110.tar.gz)

       tar -xvf 110.tar -C /root/111(解压110.tar文件到/root/110下,必须大写C)

       tar -zxvf 110.tar.gz(把文件110.tar.gz解压)

       tar -tvf 110.tar显示110.tar文件里的文件数量等 

       参考:https://www.cnblogs.com/peida/archive/2012/11/30/2795656.html

gzip:用来压缩文件,格式.gz(-r代表陆续压缩整个目录)

gunzip:gunzip 参数 文件或目录(gunzip 11.gz代表解压文件11.gz)

rpm:安装、卸载、升级,管理rpm形式的软件(rpm -i+安装包名称,这是安装软件),-e(删除指定套件)

权限管理

chmod:修改文件权限;chmod ugo +r file.txt(把文件file.txt权限设置为所有人可读,也可以chmod 444 file.txt);

            权限管理(-rw-r--r--  18 root root 260 Mar 18 16:44 .      :第一列十个位置,第一个是文件类型,横线表示是非目录的文件,d代表目录;第二至十个字符中二到四代表所有者的权限,五到七代表群组的权限,最后三个代表其他人的权限【参考:https://blog.csdn.net/bearcatfly/article/details/54617095】,r代表只读,w代表写,x代表可执行)

chgrp:chgrp [选项] group filename,改变文件或目录所属的组(group可以是用户组id也可以是组名);

            chgrp -R bo /opt/local/book(把book的所属群组改成bo,递归改变)

chown:chown [选项] 用户或组 文件,更改某个文件或目录的属主和属组,如:root把一个文件拷贝给xx,为了xx能存取此文件,应把文件属主设为xx否则xx无法存取此文件;

              chown test:user test.txt(把文件test.txt拥有者设为user群组的test)

区别:chgrp和chown都是转移文件属主,chown只能在同一个用户组里转换而chgrp可以转移到不同的用户组

关机重启命令【参考https://www.cnblogs.com/zhangbing12304/p/8185346.html

关机:1、shutdown -h now(意思是立即执行关机指令),安全的关机指令;

           2、shutdown -h 10(十分钟后关机,此命令可以用shutdown -c取消)

           3、halt,最简单的关机指令(立即关机,实际调用的还是shutdown -h,halt执行时会杀死应用程序);

           4、poweroff,常用的关机指令(网上说是halt命令的链接,用法和halt差不多);

           5、init 0(init 6是重启,init 3是从图形界面切换到命令行界面,init 5相反)

重启:1、reboot(工作过程和halt差不多,一个关机一个重启);

           2、shutdown -r  now(立即重启);

           3、shutdown -r 10(跟关机一样,十分钟后重启系统);

           4、shutdown -r 20:00(系统在20:00重启,可以shutdown -c取消指令)

           5、init 6(调用init程序重启)