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 可变数组 注意: 不需要改变集合的时候创建不可变 ...
随机推荐
- 逮住一个bug
首先我们要找找自己有没有玩过论坛,如果玩过的话是不是一个discuz! x的论坛. 然后执行如下代码: location.href=((d=(await(await fetch("./hom ...
- ORA-01658无法为表空间中的段创建INITIAL区
导出空表设置时,提示错误是: ORA-01658无法为表空间中的段创建INITIAL区 查找解决方案为 表空间已满 设置表空间自动增长 即可 例: alter database datafil ...
- seq去除重复数据
DELETE FROM temp_fjh_2 a WHERE a.rowid!=(SELECT MAX(b.rowid) FROM temp_fjh_2 b WHERE a.a=b.a); 表名和列名 ...
- form表单里的坑
我们在写前端表单页面的时候,为了更好的SEO,我们会使用form标签,但是我们经常的情况是:我们并不需要form标签的一些默认事件,比如: 1.form内只有一个input标签的话,回车会触发表单的提 ...
- java中的json
josn: 一种数据传输格式,与开发语言无关,轻量级 一开始是javaScript的,但是后面比较流传,几乎所有语言都有相应的使用API 数据结构: Object---对象 使用花括号{}包含的键值对 ...
- 原生ajax实现文件上传
视图层 JS 函数: <input type="file" onchange="sendFile()" id="up" /> ...
- iOS开发者中心重置设备列表
苹果开发者账号允许的测试设备为100台,如果你注册了,这台机器就算是一个名额,禁用也算一个名额,仍被计入机器总数,每年可以重置一次,那我们怎么重置机器数量呢? 我们需要给苹果发送申请: https:/ ...
- 树上倍增求LCA
大概思想就是,节点$i$的第$2^{j}$个父节点是他第$2^{j-1}$个父亲的第$2^{j-1}$个父亲 然后可以$O(nlogn)$时间内解决…… 没了? //fa[i][j]表示i的第2^j个 ...
- Fastlane基础介绍
Fastlane是什么 Git地址: Fastlane 文档地址:Fastlane Document Fastlane是一整套的客户端CICD工具集合.Fastlane可以非常快速简单的搭建一个自动化 ...
- unity Android在streamingAssets路径下文件无法读取的的解决方法
unity Android在streamingAssets路径下文件,有时候plugin下的.jar或者.so无法直接读取: 解决方法之一,拷贝至其他路径: #if UNITY_ANDROID str ...