Linux 基础入门二
1、远程连接
ssh协议:secure shell
~]# ss -tnl 查看系统是否监听在tcp协议的22号接口;
~]# ip addr list 或者 ifconfig 查看ip地址
确保防火墙处于关闭状态:
~] # iptables -L -n
关闭防火墙:
CentOS 7
~]# systemctl disable firewalld.service
~]# systemctl stop firewalld.service
CentOS 6
~]# service iptables stop
~]# chkconfig iptables off
2、用户登录
root用户:一个特殊的管理账户,也称为超级用户,对系统有最高控制权限,建议使用非管理员账号登录,需要管理员权限时切换至管理员,操作完成后退出
普通用户:权限有限,对系统造成损害的能力比较有限
注意:
Linux系统中默认的管理员用户为root,系统判断用户是管理员还是普通用户,是通过用户的UID是否是0来判断
id 显示当前登录用户信息
-u 显示当前用户的UID信息
-u UserName 显示指定用户的UID信息
普通用户的UID编号:CentOS 6中默认从500开始编号,CentOS 7中默认从1000开始编号
3、命令提示符
管理员提示符为#,普通用户提示符为$
echo $PS1
[\u@\h \W]\$
\u当前用户名 \h主机名 \W工作目录的路径基名
basename 显示当前路径的基名(后面参数为一个路径,基名就是路径的最后一个“/”后面的内容)
dirname 显示当前路径的目录名(后面参数为一个路径,目录名就是除去基名外的目录路径)
命令执行过程:Shell程序找到键入的命令所对应的可执行程序的代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程
分层结构图
4、在shell中的可执行命令:
内建命令(bulitin)
由Shell程序自带的功能,通过某命令形式提供出来
enable COMMAND 启用内建命令
enable -n COMMAND 禁用内建命令
外部命令
在文件系统上的某个位置有一个与命令名称对应的可执行文件
可通过which、whereis 命令来查找可执行程序文件位置
shell事先通过一个PATH变量设定好了多个路径,当用户输入命令时,shell会自动到这些路径(由左向右)依次查找与命令名称相同的可执行文件
使用type命令来判断命令是外部命令还是内部命令
type COMMAND
-t 输出“file”、“alias”或者“builtin”,分别表示给定的命令为“外部指令”、“命令别名”或者“内部指令”
-p 如果给定命令为外部命令,则显示其绝对路径
-a 显示给定命令的类型和绝对路径
hash命令
用来保存以前曾经执行过的命令,以哈希表的方式保存(缓存为key-value格式),可以通过hash来查看(用于快速找到命令执行)
hash 列出命令的缓存
-d 表示清空指定命令的缓存,如:hash -d ls
-r 表示清空所有命令的缓存, hash -r
alias 定义别名
alias 定义别名
unalias 取消别名(临时生效)
在命令前加\使用命令本身,而不是别名(或者使用绝对路径执行命令使用命令本身)
仅对当前用户生效:~/.bashrc
对所有用户生效:/etc/bashrc
配置文件配置后不会立即生效需要重新运行配置文件
source /etc/bashrc
. /etc/bashrc
命令执行查找顺序:别名>内建>hash>$PATH
演示:
内建命令
[root@CentOS6 ~]# type cd
cd is a shell builtin # 内建命令
[root@CentOS6 ~]# enable -n cd
[root@CentOS6 ~]# cd /etc
-bash: cd: command not found
[root@CentOS6 ~]# enable cd
[root@CentOS6 ~]# cd /
[root@CentOS6 /]# ls
bin boot dev etc home lib lib64 lost+found media misc mnt net nfs opt
外部命令
[root@CentOS6 ~]# type date
date is /bin/date # 外部命令显示的是路径
# 查看外部命令对应的路径
[root@CentOS6 ~]# which date
/bin/date
[root@CentOS6 ~]# whereis date
date: /bin/date /usr/share/man/man1/date.1.gz /usr/share/man/man1p/date.1p.gz
# 所有的外部命令都在PATH变量中,执行顺序从左到右
[root@CentOS6 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
hash命令
# 缓存的外部命令
[root@centos7 ~]# hash
命中 命令
2 /usr/sbin/iptables
1 /usr/sbin/ifconfig
1 /usr/bin/cat
1 /usr/bin/locale
1 /usr/bin/yum
3 /usr/bin/ping
3 /usr/bin/ls
1 /usr/sbin/ip
# 清空指定的缓存命令
[root@centos7 ~]# hash -d iptables
[root@centos7 ~]# hash
命中 命令
1 /usr/sbin/ifconfig
1 /usr/bin/cat
1 /usr/bin/locale
1 /usr/bin/yum
3 /usr/bin/ping
3 /usr/bin/ls
1 /usr/sbin/ip
# 清空命令缓存
[root@centos7 ~]# hash -r
[root@centos7 ~]# hash
hash: 哈希表为空
alish 命令别名
[root@CentOS6 ~]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
5、运行命令:
命令格式:
COMMAND [OPTIONS] [ARGUMENTS]
命令 选项 参数
选项:调整命令的执行特性的;选项可以有多个,多个选项之间必须以空格分隔
短选项:-char(字符)
长选项:--word(单词)
两个短选项可以合并,长选项一般不可以合并;有些选项需要有参数
命令参数:命令的作用对象;有些命令可以带多个参数,各参数之间需要使用空格隔开
注意:
取消和结束命令执行:Ctrl+c
多个命令可以用";"隔开同时执行
一条命令可以用"\"分成多行
发起命令:请求内核将某个二进制程序文件运行为一个进程
程序—> 进程
静态—> 动态
程序文件没有生命周期,进程有生命周期
命令本身是一个可执行的程序文件,二进制格式的文件,有可能会调用共享库文件
多数系统程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
普通命令:/bin,/usr/bin,/usr/local/bin
管理命令:/sbin,/usr/sbin,/usr/local/sbin
共享库:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64
32bits库:/lib,/usr/lib,/usr/local/lib
64bits库:/lib64,/usr/lib64,/usr/local/lib64
命令必须遵循特定格式规范:exe、msi、ELF(Linux)
演示:
[root@centos7 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=aa7ff68f13de25936a098016243ce57c3c982e06, stripped
6、CentOS 7设置程序环境
localectl
status:显示当前状态
list-locales :列出支持的所有的程序环境
set-locale LOCALE... 设定程序环境
演示:
# 当前程序环境
[root@CentOS7 ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
# 设置为中文的语言环境
[root@centos7 ~]# localectl set-locale LANG=zh_CN.utf8
[root@centos7 ~]# localectl status
System Locale: LANG=zh_CN.utf8
VC Keymap: cn
X11 Layout: cn
# 重启之后就可以获得中文的语言环境了
[root@centos7 ~]# locale
LANG=zh_CN.utf8
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=
Linux 基础入门二的更多相关文章
- Linux 基础入门(新版)”实验报告一~十二
实验报告 日期: 2015年9月15日 一.实验的目的与要求 熟练地使用 Linux,本实验介绍 Linux 基本操作,shell 环境下的常用命令. 二.主要内容 1.Linux 基础入门& ...
- Linux基础入门学习笔记20135227黄晓妍
学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统 2. 能够熟练使用Linux系统的基本命令 3. 熟练使用L ...
- Linux 基础入门 第二周9.21~9.27
一.学习内容 本周主要学习内容主要贴合: 在进行<深入理解计算机系统>这门课的实验中没有遇到什么大问题,学习内容与上周实验<linux基础入门>有相似之处.本实验中的内容比较贴 ...
- 在学习linux基础入门时的一些问题总结(1)
本周在实验楼完成了<linux基础入门>的21个实验,虽然之前已经学习过linux的相关课程,对linux下的命令也有一些了解和实践,但完成这21个实验以及35个练习题仍然遇到了许多的问题 ...
- Linux基础入门 - 2
第三节 用户及文件权限管理 3-1.Linux用户管理 Linux 是一个可以实现多用户登陆的操作系统,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是 ...
- VBox&vmware虚拟机安装Linux及Linux基础入门学习
VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- Linux 基础入门----推荐课程
Linux 基础入门课程:https://www.shiyanlou.com/courses/1 很好的一门Linux基础课,精炼.简洁!推荐! 课程内容: 第1节 Linux 系统简介 https: ...
- Swift语法基础入门二(数组, 字典, 字符串)
Swift语法基础入门二(数组, 字典, 字符串) 数组(有序数据的集) *格式 : [] / Int / Array() let 不可变数组 var 可变数组 注意: 不需要改变集合的时候创建不可变 ...
随机推荐
- BZOJ 2190 欧拉函数
思路: 递推出来欧拉函数 搞个前缀和 sum[n-1]*2+3就是答案 假设仪仗队是从零开始的 视线能看见的地方就是gcd(x,y)=1的地方 倒过来一样 刨掉(1,1) 就是ans*2+1 再加一下 ...
- WPF 样式
样式是属性值的集合,能被应用到一个元素,类似CSS,每个控件最多只能有一个样式,通过控件的Stype属性应用样式,如下代码,其中BigFontButtonStyle是用于检索资源的关键字,也可以通过代 ...
- What's new in Safari 11.0
导语: Safari 11.0 的亮点 网络会议.使用WebRTC标准实现对等会议. 开发调试工具增强.使用用于测量代码和网络性能的新工具来测试代码. WebAssembly.当使用新的WebAsse ...
- 你不知道的JavaScript(二)数组
作为一种线性数据结构,几乎每一种编程语言都支持数组类型.和c++.java这些强类型的语言相比,JavaScript数组有些不同,它可以存放任意类型的值.上节中有提到过JS中任意类型的值都可以赋值给任 ...
- Android 自定义View 之利用ViewPager 实现画廊效果(滑动放大缩小)
http://www.2cto.com/kf/201608/542107.html
- android全屏去掉title栏的多种实现方法
android全屏去掉title栏的多种实现方法 作者: 字体:[增加 减小] 类型:转载 时间:2013-02-18我要评论 android全屏去掉title栏包括以下几个部分:实现应用中的所有ac ...
- 常见Json字符串反序列化处理方式总结
常用来处理Json字符串序列化 反序列化组件:Newtonsoft.Json (https://www.newtonsoft.com/json) 参考资料https://www.cnblogs.com ...
- HDU 6051 If the starlight never fade(原根+推式子)
题目大意: 设\(f(i)\)为使\((x+y)^i \equiv x^i (mod\ p)\)成立的(x,y)的对数.其中\(1 \leq x \leq p-1 , 1\leq y\leq m\), ...
- 关于.net core 在docker中监听地址设置踩坑记
1.今天在做docker容器的时候发现如果将.net core 内部监听地址设置为localhost:8888. 2.在docker build -p 6444:8888 运行容器后,外部通过6444 ...
- 通过唯一ID实现简单的日志跟踪实现
在实际项目中,通知我们需要记录一些日志,方便问题核查.但是日志多了就很容易混乱,请求,响应,执行中的日志无法对应,这时就需要为请求进行标记唯一ID来进行跟踪. /** * 记录请求日志 * * Cla ...