Linux控制台基础操作

总结常用命令
1.echo:输出
2.ll:显示当前目录下所有的文件夹并排序
3.ls:显示当前目录下所有的文件
4.cat:显示文件内容
5.mysql -u用户名 -p密码:连接数据库
6.cd : 文件夹切换
7. sync 将数据由内存同步到硬盘中。
8. shutdown –h 10:计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
9.shutdown -h now :立刻关机
10.shutdown -h 00:00 在什么时候关机
11. shutdown -h +10 十分钟后关机
12. reboot :重启
13.halt :关闭系统
14.vi a.txt :编辑文件名为a 的文件
15.i 编辑模式
16. yum check-update 列出所有可以更新的软件清单命令
17.yum update 更新所有软件
18.yum list:列出所有可安裝的软件清单命令
19.yum remove <package_name>:删除软件包命令
20. yum search :查找软件包 命令
21.stat 显示指定文件的详细信息,比ls更详细
22.who 显示在线登陆用户
23.whoami 显示当前操作用户
24.hostname 显示主机名
25.uname 显示系统信息
26.top 动态显示当前耗费资源最多进程信息
27.ps 显示瞬间进程状态 ps -aux
28.du 查看目录大小 du -h /home带有单位显示目录信息
29.df 查看磁盘大小 df -h 带有单位显示磁盘信息
30.ifconfig 查看网络情况
31.ping 测试网络连通
32.netstat 显示网络状态信息
33.man 命令不会用了,找男人 如:man ls
34.clear 清屏
35.alias 对命令重命名 如:alias showmeit=“ps -aux” ,另外解除使用unaliax 36.showmeit kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
37.rm -r 文件名 删除文件名
38.tar -cvf 只打包,不压缩
39.tar -zcvf 打包,并使用gzip压缩
40. tar -jcvf 打包,并用bzip2压缩
41.tar -xvf 解压缩
42.tar -zxvf 解压缩
43. tar -jxvf 解压缩
44.ls -l

1.进入与退出系统

关机
shutdown –h now——立刻关机
Shutdown –h +1—1分钟以后关机
init 0
halt——立即停止系统,需要人工关闭电源
Poweroff–立即停止系统,并且关闭电源
重新启动
reboot
init 6
注销
Logout/exit

2.列出目录内容

ls
详细信息
-l
所有文件
-a:显示所有文件,包括以.开头的文件(即隐含文件)
-A:不列出.和…
蓝色表示目录,绿色表示可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其它文件
ls -l
文件类别:“-”表示普通文件,“d”表示目录,“l”表示符号链接,“c”表示字符设备,“b”表示块设备
文件权限
链接数
文件拥有者
文件所属组
文件大小
文件创建/修改时间
文件名
在这里插入图片描述
drwxr-xr-x
-rw-r–r--
rw-:代表u所有者
r-- : g 所属组
r-- :o其他人
r读 w写 x执行
每三位为一组
ls -a 显示所有文件,包括隐藏文件,.开头的文件,代表隐藏文件
在这里插入图片描述
ls -i 显示ID号,系统通过ID号识别文件
在这里插入图片描述
ls -lh查看该文件下所有文件的详细信息,人性化显示
在这里插入图片描述

3.复制

cp
拷贝一个目录当中所有的文件
cp /etc/. 目标文件夹
拷贝一个目录当中所有的文件和文件夹
cp –R /etc 目标文件夹
覆盖目标文件并且不提醒
-f
提示用户确认
-i

4.删除和移动

mv
交互式询问
-i
不提醒
-f

5.目录的创建和删除

mkdir
mkdir a
目录处理命令(文件夹)
创建目录:mkdir 文件名
在这里插入图片描述
创建递归目录:mkdir -p 文件名/文件名
在这里插入图片描述
rmdir 删除目录
rm -r 文件目录 删除目录
cd 切换目录(.表示当前目录 …表示上一级目录 ~表示当前用户的个人目录)
pwd 显示当前目录

6.备份和压缩

tar
主选项
-c 创建
-x 释放
辅助选项
-f 后面跟归档文件名字
-z 压缩/解压缩

把/home下的文件和子目录(包括隐含文件和目录)备份到a.tar中
# tar –cvf a.tar /home
把/home下的文件和子目录备份到a.tar中,并且用gzip压缩
# tar –czvf a.tar.gz /home
从a.tar.gz文档中恢复数据
# tar –xzf a.tar.gz /home

7.访问和权限

chmod 改变文件或目录的访问权限
chmod
用户和组:u-文件拥有者;g-文件所属组;o-其它用户
权限:r-读权限;w—写权限;x—执行权限(对于目录来说,表示切换到该目录)
chmod o+w a.txtch
chmod u=rw,g=rw,o=r a.txt
chmod 664 a.txt 等价于chmod u=rw,g=rw,o=r a.txt
chown:改变文件或目录的拥有者或所属组
把文件a.txt的拥有者改为root用户
chown root a.txt
把文件a.txt的拥有者改为root用户,同时所属组改为root
chown root:root a.txt
chgrp 改变文件或目录所属的组
chgrp:改变文件或目录的所属组
把文件a.txt的拥有者改为root用户
chgrp root a.txt
chown 改变文件所有者或组

8.与用户相关

1.用户权限
用户分为:管理用户和普通用户。
(1)管理用户root(uid为0),权利最大的管理员,所有的权限对它来说几乎是形同虚设的,它的 存在就是为了管理其它用户的,于是普通用户都得由它来创建。
(2)普通用户分为登录用户和系统用户。uid范围:1-65535,登录用户(uid范围:1-999)可以 用来登录,可以通过不同验证方式登录。系统用户(6000-10000)
2.查看当前系统有哪些用户
用户信息存放的文件:/etc/passwd
查看用户:cut -d : -f 1 /etc/passwd (’-d :'表示以:作为分隔符, '-f 1’表示以:分割每一行的第一段内容。)
在这里插入图片描述
3.添加用户
adduser/useradd
添加用户 # useradd zhangsan
在这里插入图片描述
【如果对用户组没指定,默认生成一个跟用户名名称相同的组】
4.修改用户密码

  1. passwd:修改用户自己的密码
    passwd
    修改用户口令
  2. passwd USERNAME:修改指定用户的密码,但仅root有此权限
  3. chage命令:更改密码的过期信息,主要是对应修改/etc/shadow里面的数据
    在这里插入图片描述
    5.修改用户所在的用户组
    usermod命令;修改用户属性
    usermod [option] username
    -u,–uid UID:指定新的UID
    -g:–gid GROUP:修改用户所属的基本组:
    -G, --groups GROUP1[,GROUP2,…[,GROUPN]]]修改附加组,原来的附加组会被覆盖
    -a:–append,与-G一同使用,用于为用户追加新的附加组
    -c, --comment COMMENT :指明注释信息-d,默认修改是不创建新的文件位置的
    -m,–move-home,只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
    -l,–login NEW_LOGIN:修改用户名
    -s,–shell SHELL:修改用户默认的shell
    -L;–lock 锁定用户密码
    -U,–unlock;解锁用户的密码
    6.删除用户
    gpasswd -d 用户名 group

7.查看哪些用户可以登录系统
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1
(grep -v /sbin/nologin /sbin/nologin指的是不允许login当前Linux系统,grep -v 是反向取值 )
(cat /etc/passwd | grep -v /sbin/nologin) 指的是查看/etc/passwd中没有在/sbin/nologin中的用户信息,即可以登录系统的用户信息。

8.查看当前系统的用户组
who
.查看当前系统指定用户组下面的用户
groups查看当前登录用户的组内成员

9.用户组

a.创建用户组
groupadd –g 888 users
888:代表GID
users:代表用户组名称

b.修改用户组
groupmod –n user users
修改组名user为users
gpasswd –a user1 users
把user1加入到users中
gpasswd –d user1 users
把user1退出users中

c.删除用户组
groupdel users
删除名称为users的用户组

d.用户授权
增加权限给当前用户: chmod +wx filename

e.用户组授权
chgrp root abc :改变abc所属的组为root

f.切换身份
su
以其他身份登陆.
su zhangsan:root->非root
su 回车:非root->root

9.shell脚本

在这里插入图片描述
编写第一个脚本,输出“hello world”
在这里插入图片描述
打印hello world
在这里插入图片描述
:wq保存后,然后给hello.sh执行权限,chmod 755 hello.sh
通过绝对路径执行 ./hello.sh 或者直接用 bash hello.sh
echo 输出
read 输入

脚本基础
shell 脚本学习
一.变量
1.第一行必须是“#!/bin/bash”
对shell的声明,说明你所用的是那种类型的shell 及 其路径所在
如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell
2.变量
定义变量:
variableName=“value”
注意:之间不能有空格
3.使用变量
使用一个已经定义的变量,只需要在变量名前面加一个美元符号($)即可
a=“dadasda”
echo $a
echo ${a} //加花括号只是为了帮助解释器识别
4.已经定义的变量可以被重新定义
a=“dsadgasd”
echo $a
a=“dgashsdgyfyefgwyuefgwyue”
echo ${a}
5.定义只读变量(不能被重新定义)
readonly a
6.删除变量
unset a

二.转义字符
在这里插入图片描述
三.运算符

expr是一款表达式计算工具
例如:
val=expr 2+2
echo $val
运行结果为4
注意:表达式和运算符之间要有空格
在这里插入图片描述
在这里插入图片描述
四.注释
以“#”开头的行就是注释,会被解释器忽略。

五.字符串
单引号:
1.单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
2.单引号字串中不能出现单引号(转义后也不行)
双引号:
1.双引号可以有变量
2.双引号里可以出现转义字符
获取字符串长度
str=“dsada”
echo ${#str} #输出5
提取子字符串
str=“dasgdgsadg”
echo KaTeX parse error: Expected 'EOF', got '#' at position 11: {str:1:4} #̲获取索引为1到4的字符串 查找…str" is

六.数组
定义数组:
arr=(value0 value1 value2 value3)
赋值:
arr[0]=‘dsadsad’
读取数组:
${arr[index]} #index为索引
使用@和获取数组中所有元素
${arr[
]} 或 ${arr[@]}
取数组长度
${#arr[@]} 或 ${#arr[@]}
取得数组中单个元素长度
${#arr[index]}

七.格式化输出语句
注意:
printf命令不要加括号
format-string 可以不加引号,但最好加上,单引号双引号都可以
参数多于格式控制符(%)时,format-string可以重用,可以将所有参数转换
arguments使用空格分隔,不用逗号

八.if…else 语句
三种
if…fi
if …elif…else…fi
if…else…fi
例如:
#!/bin/bash
a=10
b=20
if [$a == $b]
then
echo “a和b相等”
else
echo “a和b不相等”
fi

如果a=b条件满足,则会输出a和b相等,否则执行a和b不相等
在这里插入图片描述
在这里插入图片描述
九.switch…case
格式:
case 值 in
模式一) …;;
模式二) …;;
esac
取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。
十.for循环
格式:
for 变量 in 列表
do

done
十一.while
格式:
while 条件
do

done
十二. until
until循环格式:
a=10
until [! $a -lt 10]
do
echo $a
a=expr $a +1
done

  • $0 这个程式的执行名字
  • $n 这个程式的第n个参数值,n=1…9
  • $* 这个程式的所有参数,此选项参数可超过9个。
  • $# 这个程式的参数个数
  • $$ 这个程式的PID(脚本运行的当前进程ID号)
  • $! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
  • $? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
  • $- 显示shell使用的当前选项,与set命令功能相同
  • $@ 跟 $*类似,但是可以当作数组用

十三.函数
格式:
function fuc_name(){

}

fuc_name(){…}
带参函数:
可在调用时赋值,即:
hell(){
echo “hello, $1,$2, $ *, # $”
}
调用: hello “java”,“php”
$1:代表第一个参数
$ * : 代表所有参数
#$:代表参数个数

十四.输入输出重定向
输入:
command>file #表示将command 输入到file中
file<users #表示将users输出到file中
$command 2 >> file #表示将command2追加到file末尾
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值