Linux系统学习

基本命令

ls
cd
mkdir 参数 -p递归创建
rmdir
touch 修改文件的3中时间,访问时间、修改时间、状态修改时间
stat 查看文件的3中时间
cat
more 参数-n查看行数
head
tail 参数-f实时查看文件变化
ln 建立硬链接、软连接,参数 -s 建立软连接
rm 参数 -r 递归,-f强制删除
cp 参数-r递归,-p复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
mv
w
who
last
lastlog

权限

chmod 参数 -R:递归设置权限,也就是给子目录中的所有文件设定权限
例子:
chmod g+w,o+w lmls #给所属组和其他人同时加入写权限
chmod u=rwx, g=rw, o=rw lmls
chmod 755 lmls

chown 参数 -R:递归设置权限,也就是给子目录中的所有文件设定权限
chown user:user laowang

chgrp 是修改文件和目录的所属组的命令
chgrp user test2

umask (遮罩)给所有新建立的文件和目录赋予初始权限

查找

whereis 不能搜索普通文件,而只能搜索系统命令
locate 搜索文件
find 搜索路径 [选项] 搜索内容
选项:

  • -name: 按照文件名搜索;
  • -iname: 按照文件名搜索,不区分文件名大小;
  • -inum: 按照 inode 号搜索;
    find / -name yum.conf 搜索 / 路径下的名字为yum.conf的文件路径
    find . -size -25k 搜索当前目录下大小小于25k的文件
    选项:
  • -a:and逻辑与
  • -o:or逻辑或
  • -not:not逻辑非
    find.-size +2k -a -type f 拼接条件
    #在当前目录下搜索大于2KB,并且文件类型是普通文件的文件
    find 搜索路径 [选项] 搜索内容 -exec 命令2{}\;
解压缩

zip [选项] 压缩包名 源文件或源目录, -r:压缩目录
unzip [选项] 压缩包名, -d: 指定解压缩位置

tar -zxvf 解压 -C指定解压位置
tar -zcvf ***.tar.gz test.log 压缩文件

开关机

sync 关机之前,执行这个命令,将内存中的数据存到磁盘中,避免数据丢失
shutdown
选项:
-c:取消已经执行的 shutdown 命令;
-h:关机;
-r:重启;
[root@localhost ~]# shutdown -r now
#重启, now是现在重启的意思
[root@localhost ~]# shutdown -r 05:30
#指定时间重启,但会占用前台终端
[root@localhost ~]# shutdown -r 05:30 &
#把定义重启命令放入后台,&是后台的意思
[root@localhost ~]# shutdown -c
//取消定时重启
[root@localhost ~]# shutdown -r +10
#10分钟之后重启

网络

ifconfig 查看ip
netstat [选项]
选项:
-a:列出所有网络状态,包括 Socket 程序;
-c秒数:指定每隔几秒刷新一次网络状态;
-n:使用 IP 地址和端口号显示,不使用域名与服务名;
-p:显示 PID 和程序名;
-t:显示使用 TCP 协议端口的连接状况;
-u:显示使用 UDP 协议端口的连接状况;
-I:仅显示监听状态的连接;
-r:显示路由表;
一般常用的 netstat -tulnp 参数p可以显示端口对应的应用程序的进程号pid
ps aux 查看系统进程
kill -9 pid 杀死进程

其他个人工作中感觉用的比较多的

nohup java -jar & 后台运行,输出会在一个nohup.out文件中

软件安装

rpm -ivh 安装
rpm -Uvh 升级更新
rpm -e 卸载
rpm -q 查询软件包是否安装

yum list 包名 查询yum源服务器中是否包含某个软件包
yum search 关键字 搜索yum服务器上所有和关键字相关的软件包
yum info samba 查询指定软件包的信息
yum -y install 包名
yum -y update 包名
yum remove 包名

Linux用户和用户组管理

/etc/passwd 文件中保存的就是系统中所有的用户和用户的主要信息
#查看一下文件内容
root:X:0:0:root:/root:/bin/bash
用户名:密码:uid:初始组gid:用户说明:家目录:登录之后的shell

/etc/shadow 该文件存放用户密码
root: 1 1 1WxUJiarv$2LHrsKoz0mXLc7D9A87Qh/:17942:0:99999:7:::

useradd [选项] 用户名,添加用户
选项:
-u UID: 手工指定用户的 UID,注意手工添加的用户的 UID 不要小于 500;
-d 家目录:手工指定用户的家目录。家目录必须写绝对路径,而且如果需要手工指定家目录,则一定要注意权限;
-c 用户说明:手工指定用户说明。还记得 /etc/passwd 文件的第五个字段吗?这里就是指定该字段内容的;
-g 组名:手工指定用户的初始组。一般以和用户名相同的组作为用户的初始组,在创建用户时会默认建立初始组。如果不想使用默认初始组,则可以用 -g 手工指定。不建议手工修改;
-G 组名:指定用户的附加组。我们把用户加入其他组,一般都使用附加组;
-s shell:手工指定用户的登录 Shell。默认是 /bin/bash;
-e 曰期:指定用户的失效曰期,格式为"YYYY-MM-DD"。也就是/etc/shadow文件的第八个字段;
-o:允许创建的用户的 UID 相同。例如,执行"useradd -u 0 -o usertest"命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0;
-m:建立用户时强制建立用户的家目录。在建立系统用户时,该选项是默认的;

passwd [选项] 用户名 修改密码
选项:
-S:査询用户密码的状态,也就是 /etc/shadow 文件中的内容。仅 root 用户可用;
-l:暂时锁定用户。仅 root 用户可用;
-u:解锁用户。仅 root 用户可用;
–stdin:可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用;

usermod [选项] 用户名 修改用户信息
选项:
-u UID:修改用户的UID;
-d 家目录:修改用户的家目录。家目录必须写绝对路径;
-c 用户说明:修改用户的说明信息,就是 /etc/passwd 文件的第五个字段;
-g 组名:修改用户的初始组,就是 /etc/passwd 文件的第四个字段;
-G 组名:修改用户的附加组,其实就是把用户加入其他用户组;
-s shell:修改用户的登录 Shell。默认是 /bin/bash;
-e 日期:修改用户的失效曰期,格式为"YYYY-MM-DD"。也就是 /etc/shadow 文件的第八个字段;
-L:临时锁定用户(Lock);
-U:解锁用户(Unlock);

userdel [-r] 用户名 参数 -r:在删除用户的同时删除用户的家目录;

gpasswd 选项 组名 把用户添加进组或从组中删除
选项:
-a 用户名:把用户加入组;
-d 用户名:把用户从组中删除;

newgrp 改变有效组

id命令:查看用户的UID和GID
uid=1000(wangyue) gid=1000(wangyue) groups=1000(wangyue),0(root)

su - 用户 切换用户,不加 - 的话,环境变量没换过来,切换不完全

文件系统管理

硬盘:硬盘可以分为机械硬盘(Hard Disk Drive, HDD)和固态硬盘(Solid State Disk, SSD),机械硬盘采用磁性碟片来存储数据,而固态硬盘是通过闪存颗粒来存储数据的。

df -h 文件系统查看命令
du -sh 统计目录或文件所占磁盘空间大小
free -h 查看系统内存

shell相关的命令

read -p ‘请输入你的名字:’ name
echo $name

位置参数变量作 用
$nn 为数字,$0 代表命令本身,$1〜 9 代 表 第 1 〜 9 个 参 数 , 10 以 上 的 参 数 需 要 用 大 括 号 包 含 , 如 9 代表第 1〜9 个参数,10 以上的参数需要用大括号包含, 如 91910{10}
$*这个变量代表命令行中所有的参数,把所有的参数看成一个整体
$@这个变量也代表命令行中所有的参数,不过 $@ 把每个参数区别对待
$#这个变量代表命令行中所有参数的个数
$?最后一次执行的命令的返回状态。如果这个变量的值为 0,则证明上一条命令正确执行;如果这 个变量的值为非 0 (具体是哪个数由命令自己来决定),则证明上一条命令执行错误
$$当前进程的进程号(PID)
$!后台运行的最后一个进程的进程号(PID)

数值运算

  • 使用expr或let数值运算工具
  • 使用"$((运算式))“或”$[运算式]"方式运算

登录时生效的环境变量配置文件
在 Linux 系统登录时主要生效的环境变量配置文件有以下 5 个:
/etc/profile。
/etc/profile.d/*.sh。
~/.bash_profile。
-/.bashrc。
/etc/bashrc。

服务管理

独立的服务要想启动,主要有两种方法:

  1. 使用/etc/init.d/目录中的启动脚本来启动独立的服务
    /etc/init.d独立服务名 start| stop|status|restart|…
  2. 使用service命令来启动独立的服务
    service 独立服务名 start|stop|restart|…

独立服务的自启动管理:

  1. 使用 chkconfig 服务自启动管理命令
    chkconfig --list | grep httpd
    httpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
    #查询httpd的自启动状态。所有的级别都是不自启动的
    chkconfig --level 2345 httpd on
    #设置apache服务在进入2、3、4、5级别时自启动
  2. 修改 /etc/rc.d/rc.local 文件,设置服务自启动
    第二种方法就是修改 /etc/rc.d/rc.local 文件,在文件中加入服务的启动命令。这个文件是在系统启动时,在输入用户名和密码之前最后读取的文件(注意:/etc/rc.d/rc.loca和/etc/rc.local 文件是软链接,修改哪个文件都可以)。这个文件中有什么命令,都会在系统启动时调用。
定时任务

crontab [选项]
选项:
-e:编辑 crontab 定时任务;
-l:查询 crontab 定时任务;
-r:删除当前用户所有的 crontab 定时任务。如果有多个定时任务,只想删除一个,则可以使用“crontab -e”;
-u 用户名:修改或删除其他用户的 crontab 定时任务。只有 root 用户可用;

项目含义范围
第一个"*"一小时当中的第几分钟0~59
第二个"*"一天当中的第几小时0~23
第三个"*"一个月当中的第几天1~31
第四个"*"一年当中的第几个月----- 1~12
第五个"*"一周当中的星期几----- 0~7(0和7都代表星期日)
特殊符号含义
*代表任何时间。比如第一个"*"就代表一小时种每分钟都执行一次的意思
,代表不连续的时间。比如"0 8,12,16***命令"就代表在每天的8点0分、12点0分、16点0分都执行一次命令
-代表连续的时间范围。比如"0 5 ** 1-6命令",代表在周一到周六的凌晨5点0分执行命令
*/n代表每隔多久执行一次。比如"/10***命令",代表每隔10分钟就执行一次命令
SELinux的启动管理

vim /etc/selinux/config
配置: SELINUX=disabled

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值