一、常用命令
ls通配符的使用
*:匹配任意个数的字符,包括0个
?:匹配一个字符
[abc ]:匹配三个中的一个
[a-f]:匹配a到f的字符
cd
cd -:在最近两次的工作目录之间切换
touch
当touch的文件不存在的时候,会创建一个空白的文件。
当touch的文件存在的时候,会修改一下该文件的末次修改时间。
mkdir
mkdir -p :可以创建多级目录。
cp
cp -i:覆盖文件前提示
cp -r:拷贝目标文件下的所有文件。 目标必须为目录
mv
mv -i:覆盖前提示
which
用于查看命令所在位置的命令
su
su:直接切换到root用户
su - liao:切换到liao用户并且到达liao用户的家目录
su liao:切换到liao用户
rpm命令----文件的安装与卸载
安装软件:
rpm -hiv 文件的绝对路径
卸载软件:
rpm -e 软件名
查询文件是否已经安装:
rpm -ql
查看文件内容的命令
cat----一下显示所有的内容
cat -b:对非空的行进行编号
cat -n:对所有的行进行编号
more----分页显示内容
按下回车:向下一行
按下空格键:向下翻一页
按下b:向上翻一页
grep----强大的文本搜索工具
grep 要搜索的内容 待搜索的文件
grep -n :搜索指定的内容并显示行号
grep -v:显示所有不包含指定内容的内容
grep -i:忽略大小写的查找
远程登录和远程复制文件(ssh和scp)
ssh [-p port] UserName@ip
scp [-P port -r] 目标文件 UserName@ip:目的地
-r表示复制文件夹
添加组、删除组、查看组信息
添加组:groupadd 组名
删除组:groupdel 组名
查看组信息:cat /etc/group
chgrp -R 组名 文件/目录:修改文件/目录的所属组
usermod
usermod可以用来设置用户的主组/附加组和登录shell
主组:通常在新建用户时指定,在/etc/passwd的第4列GID中对应
附加组:在/etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限
提示:用户在设置了附加组之后要重新登录才可以生效
1、修改用户的主组:
usermod -g 组 用户名
2、修改用户的附加组
usermod -G 组 用户名
3、修改用户登录的shell
usermod -s /bin/bash
用户管理相关命令
创建用户:useradd -m -g 组名 新建用户名
-m:自动创建家目录并给家目录的权限设置好
-g:指定该用户所在的组,如果没有指定默认会创建一个和用户同名的组
设置密码:passwd 用户名
删除用户:userdel -r 用户名
-r:会自动删除用户名的家目录
确认用户信息:cat /etc/passwd | grep 用户名
新建用户后,用户的信息会保存在/etc/passwd文件中
查看用户信息
id 用户名:查看用户的UID、GID信息
who:查看当前所有登录的用户列表
whoami:查看当前登录用户的账户名
passwd 文件
/etc/passwd 文件存放的是用户的信息,由六个分号组成的七个信息分别是:
liao:x:1001:1001::/home/liao:/bin/bash
1、用户名
2、密码(x表示加密的密码)
3、UID(用户标识)
4、GID(主组标识)
5、用户全名或者本地账户
6、家目录
7、登录使用的shell,就是登录之后使用的终端命令。
二、系统信息相关命令
时间和日期
date:查看系统时间
cal -y:查看一年的日历
磁盘信息
df -h:人性化显示磁盘剩余空间
du -h 目录名 :人性化显示目录下文件大小
进程信息
ps命令----用于显示当前的进程的命令
如果ps后面什么都不加,默认仅仅显示当前用户使用终端启动的进程。
ps a:如果加上了a选项表示显示终端上的所有进程包括其他用户。
ps u:显示进程的详细信息。
ps x:显示不是终端开启的进程。
故:使用ps aux表示详细的查看所有用户的所有进程。一般最常用的是ps au用于显示所有用户用终端启动的进程。
top命令----动态的显示正在运行的进程并排序
按q退出
kill----杀死指定代号的进程 -9表示强行终止
kill -9 进程代号
三、其他命令
find
find 从什么位置查找 -name "*.txt":查找指定路径下(包括子目录)以.txt结尾的文件。
软链接
ln -s 被链接文件的绝对路径 链接后的文件名:建立文件的软链接,类似于windows的快捷方式。
注意:
1、没有-s选项建立的是一个硬链接文件。
2、源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,任然可以正常的使用。
tar命令----打包/解包的命令
tar -zcvf 打包并压缩后的文件名(xxx.tar.gz) 被打包压缩的文件路径。
tar -zxvf 待解压的文件(xxx.tar.gz) -C 解压到什么位置
tar只是打包和解包的命令但是加上z参数后就有了压缩和解压缩的功能了,本质是利用了gzip这个命令。
如果使用了tar -jxvf/jcvf表示利用了bzip2进行压缩和解压缩,文件格式为(xxx.tar.bz2)
参数解释:
f:指定归档的文件名称,.tar文件,f参数必须放在最后一个参数的位置。
v:列出归档解档的详细过程,显示进度。
c:打包归档
x:解包解档
z:压缩和解压缩
四、权限相关
文件的硬链接数
图中红框表示当前文件/目录的硬链接数
大白话说就是有多少种方式可以到达这个文件/目录。
到达文件的方式:
1、通过绝对路径访问
到达目录的方式:
1、通过绝对路径
2、通过自己当前目录然后使用cd .的方式到达
3、通过自己的子目录然后使用cd ..的方式到达(有几个子目录就有几个cd ..的方式 )
修改文件权限
1、chown:修改拥有者
chown 用户名 文件名/目录名
2、递归的修改文件/目录的组
chgrp -R 组名 文件名/目录名
3、递归的修改文件权限
chmod -R 755文件名/目录名
五、Linux专项学习
后台运行相关
前言:我们在终端启动进程的时候这个进程其实是属于这个终端的,当用户注销(logout)、网络断开时,或者关闭终端的时候,终端会收到 SIGHUP信号从而关闭其所有子进程。因此,我们的解决办法就有两种途径:要么让进程忽略 SIGHUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。
1、nohup &
顾名思义nohup意思为no SIGHUP,就是说加上nohup的命令之后,该命令就不会受到SIGHUP型号的影响了。
使用&后台运行程序:
结果会输出到终端
使用Ctrl + C发送SIGINT信号,程序免疫
关闭session发送SIGHUP信号,程序关闭
使用nohup运行程序:
结果默认会输出到nohup.out
使用Ctrl + C发送SIGINT信号,程序关闭
关闭session发送SIGHUP信号,程序免疫
日后使用
平日线上经常使用nohup和&配合来启动程序nohup ./test &:
同时免疫SIGINT和SIGHUP信号
例如:nohup ping www.baidu.com 2>&1 &
2>&1就是用来将标准错误2重定向到标准输出1中的。此处1前面的&就是为了让bash将1解释成标准输出而不是文件1。至于最后一个&,则是让bash在后台执行。