学习笔记1——Shell"/>
Linux网课学习笔记1——Shell
默认的shell是bash
使用shell的两种方法:1.终端窗口 2.虚拟终端
shell:Linux中的命令行,是介于使用者和操作系统核心程序(Kernel)间的一个接口。
打开终端的方式:
法1:桌面直接右键
法2:应用程序→终端
基础命令:
hostname //表示主机名
whoami //当前登录的用户名
pwd //当前的工作目录
打开虚拟终端:Ctrl+Alt+F2
登录:按提示输入用户名密码即可(密码是不显示的)
返回图形界面:Ctrl+Alt+F1
创建新用户
(例如创建一个用户名为fff的用户):
sudo adduser fff
有的会提示设密码,有的不会,这时需要手动设定密码
sudo passwd fff
回车,然后会提示输入两遍密码,然后就创建成功了
法2:
命令行提示符:
[root@localhost ~]# //@ 前部分是当前登录的用户名,@ 后 空格前部分是主机名,空格后是当前的工作目录。~代表用户的主目录
// ] 后的符号是提示符,这里是#,说明当前用户是超级用户,如果是$,说明是普通用户
切换账户的命令:su
命令格式:su [-] [用户名]
[]框起的是可选项
如果直接写 su,等价于 su root
下图是从root切换为普通账户:(不用密码)
普通用户切到root:
红框中的表示现在是root用户下
文件及目录管理命令
拷贝文件:cp
格式:cp [-f i r] 源文件 目标文件
//若复制整个目录,要加r,r表示递归复制该目录,及其下面的子目录和文件
遇到同名文件时:
例:
cp /etc/passwd /tmp 把etc下的passwd文件复制到tmp目录下
cp -r /etc/yum /tmp 把etc下的yum目录完整地复制到tmp下
cp *.c /home/sjh 将当前目录下后缀名为.c的文件都复制到/home/sjh目录下
移动文件:mv
格式:mv [-f i] 源文件 目标文件
与cp功能基本相同,只不过实现的是剪切+粘贴的功能,移动目录时不需要加 r
例:
mv /tmp/passwd /etc
mv /tmp/yum /etc
mv *.c /home/sjh
mv test.txt test2.txt //剪切粘贴到同一目录,实际上实现的是重命名的功能
删除文件或目录:rm
格式:rm [-f -i -r] 文件名或目录名
例:
rm /tmp/* 只删除tmp目录下的文件,但不能删除目录,且删除每一个文件时,都会询问用户
rm -rf /tmp/* 删除tmp下的所有文件+子目录,且不用征求用户同意
查看文件或目录:ls
格式:ls [-l i d a] [文件名或目录名]
// -l 以长格式显示文件或目录的详细信息; -a 显示包括隐藏文件在内的所有文件; -d 显示目录自身的信息; -i 显示每个文件或目录的inode的索引号
例:
ls 显示当前工作目录下的文件或目录名称
ls -l 显示当前工作目录下的文件和目录的详细信息
ls -a /root 显示root目录下的所有文件(包括隐藏文件)
ls -dil /root 显示root目录自身的详细信息和inode的索引号
创建目录:mkdir
格式:mkdir [-p] 目录名
如果要创建多级空目录,加上-p
例:
mkdir ~/tools 在当前主目录下新建tool文件夹
mkdir -p zzti/cs/wl15 在当前主目录下新建zzti/cs/wl15三级空目录
删除空目录:rmdir
格式:rmdir [-p] 目录名
如果要删除多级空目录,加上-p,只能删除空目录,如果要删除非空目录,要用 rm
例:
rmdir ~/tools
rmdir -p zzti/cs/wl15
切换目录:cd
格式:cd [路径名]
路径名可以是绝对路径也可以是相对路径
例:(下例中,前四条使用相对路径,后两条使用绝对路径)
cd
cd ~ 一二条作用一致,都是进入当前用户的主目录
cd .. 进入当前目录的上一条目录
cd - 返回上一条目录
cd / 直接切换到根目录
cd /boot/grub 进入/boot/grub这个目录
查看当前工作目录:pwd
格式:pwd
查看文件类型:file
格式:file 文件名
例:
file /bin/ls
Linux的运行级别
运行级别:操作系统当前正在运行的功能级别
0:一开机就关机
3:有网络文件系统,用户登录后用控制台命令行模式,没有网络时等同于2,默认不启动X Windows
4:笔记本电脑没电时,可以切这个模式
5:用户登录时,默认直接进入X Windows图形界面服务
6:一般不能用,一开机就重启,会不断重启
标准的运行级别:3(多用户状态)和5(运行X Windows图形界面服务)
(本质上无差别)
从纯命令行模式进入图形用户界面的命令:startx
在/etc/inittab文件中 id:3:initdefault:
运行级别的原理:
1、在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service);
2、在/etc/rc.d下有7个名为rcN.d(N的取值为0-6)的目录,对应系统的7个运行级别;
3、rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,这些链接文件的命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字;
4、系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件:对于以K(Kill)开头的文件,系统将终止对应的服务;对于以S(Start)开头的文件,系统将启动对应的服务。
与运行级别有关的命令:
查看运行级别:runlevel
进入其它运行级别:init N(N的取值为0 1 2 34 5 6)
init 1 进入单用户模式
init 3 进入多用户模式
init 5 登录图形界面
init 0 系统关机
Init 6 系统重启
CentOS7.3中设置运行级别的命令:
查看运行级别:systemctl get-default
修改为运行级别3:
systemctl set-default multi-user.target
修改为运行级别5:
systemctl set-default graphical.target
在桌面打开终端:
回车 进入单用户模式
单用户模式下只支持root用户,输入root的密码(不会显示出来)
上图为查看运行级别:
回车进入多用户模式:
多用户模式下要输入用户和密码:
回车进入登录图形界面:
init是临时切换运行级别
要永久改变运行级别的话:
输入命令:reboot 重启计算机,将进入运行级别3(以后计算机关机开机后进入的都是多用户模式)
要改回运行级别5
输入:systemctl set-default graphical.target
Linux下常用的快捷键
1.【Tab】按键:
①命令补全
②文件名或目录名补全
③连续按下两次【Tab】,显示以输入字符开头的所有命令
例如选择下图中选中的命令:
① Tab的命令补全:
可以只输如mc-w,按Tab,就自动补全为mc-wait-for-name,如下图显示:
② Tab的文件名补全:
③ 显示以输入字符开头的所有命令(例如,如果只记得文件首字母,可以用这个):
【Ctrl】+d按键:
①结束键盘的输入
②让用户离开文字界面,相当于输入exit
③在命令行中向右删除,相当于按下Del键
① 结束键盘的输入:
② 此时再按一次Ctrl+d,就直接退出终端
③在命令行中向右删除:
原:
按一下Ctrl+d后:
删除右边的一个字符
【Ctrl】+c按键:
①结束目前正在运行的程序
②取消当前命令行的编辑
①结束目前正在运行的程序:
例如,执行ping(如果显示“未知的名称或服务”,参考解决方法:):
会一直不停
按Ctrl+c,就停下了:
②取消当前命令行的编辑:
【Ctrl】+l:终端清屏
现在的终端页面是满的:
按一下Ctrl+l,清屏了:
但是内容并没有消失,往上滑,内容还在的
【Ctrl】+z:将正在运行的程序送到后台
例如:在终端打开Firefox应用:
此时终端处于挂起状态,是无法继续输入命令的,如果要再在终端输入命令,就按Ctrl+z,把Firefox送到后台:
【Ctrl】+r:搜索历史命令
例如:按下Ctrl+r,输入f,显示之前输入过的firefox
【Ctrl】+a:移动光标到所在行的行首
【Ctrl】+e:移动光标到所在行的行尾
例如:
现在光标在最后:
按一下Ctrl+a,光标移到首字母:
再按一下Ctrl+e,回到最后:
【Ctrl】+u:输入了错误的命令,使用该快捷键会擦除从当前光标位置到行首的全部内容
例如:
把光标移到下图所示位置,想要修改前面的命令:
按一下Ctrl+u,光标之前的内容都删掉了:
【Ctrl】+k:输入了错误的命令,使用该快捷键会擦除从当前光标位置到行尾的全部内容
例如:
目录输错了,光标移到如下图所示:
按Ctrl+k,后面不要的目录就删掉了:
【Ctrl】+w:擦除光标位置前的单词(以空格划分);如果光标在一个单词本身上,它将擦除从光标位置到该单词词首的全部字母
【Ctrl】+y:粘贴使用Ctrl+w,Ctrl+u和Ctrl+k快捷键擦除的文本
例如:原本是这样:
按一下Ctrl+w,以空格划分的前一个单词就删掉了:
然后发现删错了,想恢复,按Ctrl+y,又回来了:
总结:
章节练习
1、Linux系统中支持的shell写在哪一个文件中? 答:/etc/shells
查看Linux系统中支持的shell有几种?答:5种(但是不知道是哪5种……)
目前使用的shell是什么?答:/bin/bash
2、熟练使用系统关机和重启命令。
关机命令:init 0、halt、poweroff、shutdown –h 0;
重启命令:init 6、reboot、shutdown –r +15
例如使用“shutdown –r +15”:
3.打开终端命令窗口,完成下列操作:
(1)进入桌面
cd ~/桌面(中文输入:点开左上角的应用程序,从系统工具里找到设置,然后点开个人中的区域和语言,点左下的➕号增加输入源,添加自己所需要的输入源,如果需要中文输入法,添加汉语(intelligent Pinyin)就可以了。切换的话在屏幕右上角,时间的旁边,手动鼠标点击切换)
(2)在桌面上新建三级空目录 zzti/jsj/wl18
mkdir -p zzti/jsj/wl18
(3)在上面新建的三级空目录中新建空白文件:学号.txt
touch zzti/jsj/wl18/1234.txt
(4)在学号.txt文件中随便写入一行文字。
echo 'Helloeveryone!' > zzti/jsj/wl18/1234.txt(输入一般内容用“”,这里用‘’的原因:有!会报错,.html)(ps: >> 是在原内容上追加)
(5)将zzti文件夹拷贝至用户的家目录下。(注:家目录是在多用户操作系统上包含该系统的特定用户的文件的文件系统目录)
cp -r zzti ~
(6)删除桌面上的zzti文件夹。
rm -rf zzti
4.从文件/root/install.log中取出第201到500行的数据,带上行号,并把结果保存在/tmp/result.txt中。
head -500 /root/install.log | cat -n|tail -300 > /tmp/result.txt
更多推荐
Linux网课学习笔记1——Shell
发布评论