Linux小白入门的基础知识介绍
康帝 2018-05-17 来源 : 阅读 938 评论 0

摘要:本文主要向刚学习Linux的小白介绍一些最基本的基础知识,希望对齐有所帮助,具体如下:

Linux小白入门的基础知识介绍

本文主要向刚学习Linux的小白介绍一些最基本的基础知识,希望对齐有所帮助,具体如下:

1. halt          -- 关机
   reboot         -- 重启计算机
   passwd [root|用户名]         -- 修改用户名


密码
   whoami    -- 获取当前用户名
   hostname   -- 计算机名称
2. -----防火墙
    service iptables stop           -- 关闭防火墙
    service iptables [start|stop|reload|restart|condrestart|status|panic|save]

3.  ---------- 修改计算机名  
cat /etc/sysconfig/network  --查看
vi /etc/sysconfig/network   -- 修改 
HOSTNAME=date2
GATEWAY=192.168.161.2    
   -----------修改IP地址与计算机名称的对应关系
cat /etc/hosts
vi /etc/hosts
[IP地址] [修改后的计算机名称]
   ----------------设置IP---------------------
虚拟机设置网络适配器选择NAT模式,编辑虚拟网络适配器选中VMnet8,选择NAT模式,点击NAT设置,设置网关IP,添加端口和虚拟机ip
cd /etc/sysconfig/network-scripts
ls 
touch ifcfg-eth1    -- 没有就创建

DEVICE="eth1"   -- ifconfig 第一行最前面的装置名称
TYPE="Ethernet"   -- 类型
NAME="eth1"       -- 和DEVICE相同
BOOTPROTO=static -- 表示ip地址静态
NM_CONTROLLED="yes" --
IPV6INIT="no"          -- 
ONBOOT="yes"           -- 
IPADDR=192.168.161.132    -- 虚拟网络编辑器设置的静态ip地址
NETMASK=255.255.255.0     -- 虚拟网络编辑器设置的静态ip地址的掩码
GATEWAY=192.168.161.2     -- 虚拟网络编辑器设置的静态ip地址的网关ip
DNS1=192.168.161.2 -- 与网关ip相同
DNS2=8.8.8.8          -- 服务器。。。(此为谷歌的。。。。)
------设置网关
vi /etc/resolv.conf
   nameserver 192.168.161.2
   nameserver 8.8.8.8   保存


service network restart  -- 重启网络服务
reboot(建新文件后重启一次)
---------------------------------------------------------------------------------
4. 'ctrl + alt + F4          -- 进入命令界面

5. pwd         -- 当前所在位置(路径)
6. ls /[home|路径]                -- 显示文件信息
7. ls -l /         -- -l(选项)每个文件夹的详细信息
   d*   表示文件夹 
   -*   表示文件
8. ls -a /home/yangxing
9. ls ./          -- 当前目录
   ls ../       -- 上一级目录
10. mkdir [文件夹名]      -- 创建文件夹
11. cd [文件夹名]     -- 进入文件夹
12. touch [文件名.后缀]     -- 创建空文件
13. vi/vim [文件名.后缀]          -- 修改文件内容
    i -- 进入编辑状态
    dd -- 删除选中行内容
    ’ESC -- 退出编辑状态
    'shift + : + [wq]  -- 保存
    wq    -- 退出(w保存,q退出)
    q!    -- 强制退出
14. cat [文件名.后缀]            -- 查看文件内容
15. mv [旧文件名.后缀] [新文件名.后缀]   -- 修改文件名
16. mv ./[文件名.后缀]  ./[文件夹名]   -- 移动当前文件到当前文件夹下
17. rm [文件名.后缀] -- 删除文件
    rm -rf [文件夹名]     -- 删除文件夹及其内部文件
18. rmdir [文件夹名]    -- 删除文件夹
19. useradd  [新用户名]     -- 新增用户名
20. su - root             -- 进入管理员账号
    su [用户账户名]                -- 进入普通用户
cat /etc/passwd            -- 查看用户列表文件
    cat /etc/group     -- 查看用户组列表文件
21. groupadd [用户组名]           -- 新建用户组
22. usermod -g [用户组名] [用户名]     -- 修改用户到用户组中
23. su tt
    cd ~   -- 进入登陆用户的根目录
24. cp ./[文件名.后缀]  ./[文件夹名]   -- 复制当前文件到当前文件夹下 
25. ls -a    -- 查看所有(包括隐藏)文件
26. cd ..             -- 进入上一级
27. ifconfig             -- 查看本机器IP地址
28. ping [IP地址]          -- 连接[IP地址]机器
     'ctrl + z          -- 退出连接状态
29. scp ./[文件名.后缀] root@[IP地址]:/home/[用户名]
   -- 移动当前文件夹下文件到【IP地址】机器下【用户名】目录下
30. scp root@[IP地址]:/home/[用户名]/[文件名.后缀] ./
  -- 移动【IP地址】机器下【用户名】目录下文件到当前文件夹下
31. linux与windows之间文件共享
    (1)在windows下面新建文件夹,然后点属性,然后点共享
    (2)在虚拟机上面点击"虚拟机 -> 设置 -> 选项 -> 共享文件夹 -> 总是启用 -> 添加,选择刚才windows共享的文件夹
    (3),在linux下面查看windows下的共享文件夹: cd /mnt/hgfs/windows共享文件夹




----------安装jdk,tomcat,mysql----------------


32. cp -ir /mnt/hgfs/setup ./   -- 将共享文件setup文件夹copy到当前文件下
33. tar -zxvf [jdk-8u152-linux-x64.tar.gv|文件名]   -- 解压jdk...文件
34.     /etc/profile    (所有用户都可访问)


cd ~ 
ls -a
.bash_profile    (最后访问,只能当前用户访问)
35. vi /etc/profile   --- 全局环境变量(/root/.bash_profile -- 用户环境变量,先加载全局再加载用户)
(最后一行)
export JAVA_HOME=/usr/local/jdk1.8.0_152  -- 配置jdk环境变量
export JRE_HOME=${JAVA_HOME}/jre          -- 配置jre环境变量
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${PAHT} -- 配置PATH环境变量 ([路径]:[路径]--[路径]加[路径])
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib 
36. source /etc/profile   -- 让修改的文件生效


37. ------------检查环境变亮是否配置正确
javac  编译命令  
java   运行命令
java -version  -- 查看版本


38. cd /usr/local/tomcat7/bin
./startup.sh             -- linux下启动tomcat


39.  netstat      -- 显示所有端口
     grep -ir "start" ./    --- 在当前路径下查找“start”
     find ./ -name "tomcat.sh"    -- 在当前路径下查找“tomcat.sh”文件(显示路径)


netstat -ntlp | grep 8080   -- 检查8080端口是否启动
#!/bin/bash
  netstat -ntlp | grep 8080
  result=$? -- 0开启,1未开启


40. service iptables stop           -- 关闭防火墙
    service iptables [start|stop|reload|restart|condrestart|status|panic|save]


41.----------安装数据库
复制 解压 
mysql下 .so文件   (动态链接库)
mkdir data   (mysql数据存放的地方)
groupadd mysql
-- 打开数据库  
cd /usr/local/mysql/bin
--- // service mysqld start 
../mysql -uroot -p
Enter password:   输入密码
-- 查看端口是否启动
cd /usr/local/mysql/bin
netstat -ntlp

42. useradd -r -g mysql mysql -s /sbin/nologin
-- 创建用户  加入用户组 用户组 用户   设置为不可用
43. chown -R mysql.mysql /usr/local/[mysql]    -- 使用户具有操作数据库权限
-- 用户组.用户           mysql解压包名
44. ./bin/mysql_install_db --user=mysql --basedir=/usr/local/[mysql] --datadir=/usr/local/[mysql]/data
-- 执行安装数据库命令    用mysql用户操作   基础路径  数据存放路径
   bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ -- datadir=/usr/local/mysql/data/
-------初始化数据(切换到当前目录/usr/local/mysql)
45. cp -a ./support-files/my-default.cnf /etc/my.cnf -- 复制配置文件,并改名为my.cnf
46. cp -a ./support-files/mysql.server /etc/init.d/mysqld  -- 复制mysql系统服务脚本
47. service mysqld start -- 启动mysql服务
48. cat /root/.mysql_secret -- 查看数据库初始密码
49.  ---------修改数据库密码
cd /usr/local/mysql 
./binmysql -uroot -p   
输入密码
Set PASSWORD = PASSWORD('123456'); --设置密码
flush privileges; -- 刷新
quit    -- 退出
50. show databases; -- 显示所有数据库
use mysql; -- 使用mysql数据库
show tables; -- 显示mysql数据库里所有的表
desc user;  -- 表字段


51. -------- 使数据可以被远程访问
update user set host = '%' where user='root';  -- mysql内更改user表host字段


    --------windows访问linux数据库
cmd
cd C:\Program Files(x86)\MySQL\MySQL Server 5.0\bin   (mysql安装路径下的bin文件)
mysql -h192.168.161.132 -P3306 -uroot -p
 (要连接的IP地址) (mysql端口)  (用户登录为管理员)
输入密码
--------------


52. #!/bin/bash   -- 解析器(开头第一行)
‘Esc   'Shift + : set number   --- 显示行号
53. chmod + x a1.sh   --修改a1.sh 文件的权限
   [x|r|w](可以用数字代替[4|1|2])  
   [执行|只读|写入]
   chmod 777 a1.sh    -- 给a1.sh加上所有权限
54. ----运行
    1)  ./a1.sh 
    2)  sh a1.sh 
    3)  /bin/bash a1.sh   (文件头没有写解析器)
55. -------在a2.sh文件里创建文件等操作
#!/bin/bash
mkdir /home/yangxing/test2/aa
cd /home/yangxing/test2/aa
touch a.txt
echo "hello world!" > a.txt 
echo "abc" >> a.txt  ---在文件下追加内容(先备份)
56. whoami    -- 获取当前用户名
vi t3.sh
echo `whoami` > a.txt  
57. ----------变量的赋值和读取
#!/bin/bash


name="xiao"  --- 字符串
aa="abcdefghijklmnopqrstuvwxyz"
sex='f'  --- 字符
array_name=(1 3 5 7 15 98 100) --- 数组


echo $name
echo ${name}
echo ${name}hello  ----(xiaohello)


echo "hello ${name}"    --- (hello xiao)
echo 'hello ${name}'    --- (hello ${name})




   echo ${#name[*]}  -- 获取name字符串的字节长度
echo ${name:3:2}   -- 截取name字符串的子字符串,从3位开始(0位开始),取两位
echo ${array_name[0]}  -- 获取数组array_name中的第0位元素


echo `expr index "${aa}" c`  -- 字符c在变量aa中的位置(3)
echo `expr index "${aa}" "${sex}"`  --(6)




#注释 ----获取所有值的两种方法----
echo ${array_name[@]} 
echo ${array_name[*]}
-----
echo ${#array_name[*]} -- 数组长度
58. ----------------变量运算操作
#!/bin/bash


x=7 --- 赋值号前后没有空格
y=5

z=`expr ${x} + ${y}`   --- 运算符前后必须有空格,
z=`expr ${x} \* ${y}`  -- 乘法运算符*需要转译
echo `${z}
echo `expr ${x} + ${y}` 
echo x+y=`expr ${x} + ${y}`  ---- (x+y=13)

let a=${x}+${y} --- 加号左右不加空格
echo $a


         ---------数字比较  if----------------
if [ ${x} -eq  ${y} ]  -- eq相等,gt大于,ne不想等,lt小于,le小于等于,ge大于等于
then 
echo "equals"
elif [[ ${x} >  ${y} ]]  --  中括号前后加空格(字符串比较)
then
echo "gt"
else 
echo "not equals"
fi --- 结束判断--


59. ------逻辑运算符
!非;    -o, || 或;    -a, && 与
60. ------字符串比较
if [ ${a} = ${b} ]    字符串是否相等
if [ -z ${a} ]        长度是否为0
if [ -n ${a} ]        长度是否不为0
if [ ${a} ]           是否为空
61.  -------文件
file="/home/yangxing/test3/aa"
if [ -d ${file} ]    -- file路径是否是文件夹
if [ -f ${file} ]    -- 是否是文件
if [ -r ${file} ]    -- 是否可读
if [ -w ${file} ]    -- 是否可写
if [ -x ${file} ]    -- 是否可读执行
62. --------for 循环
for i in ${array_name[*]}  ----  //for var in 1 2 3 4 5 6 7 8 9
do
echo ${i}
done
------------1到100
for i in `seq 1 100`
for i in {1..100}
for ((i=0;i<100;i++))


----------------case语句
a=""
case $a in
"aa")
echo "aa"
;;
"bb")
echo "bb"
;;
"*"
echo "0"
;;
esac


63. -------键盘
read -p "please enter name: " name  --- -p等待键盘输入
echo ${name}
64. ages=(${ages[*]} 18)     --- 在数组里添加新数据




65. ----------从文件外部传入
    a10.sh
      #!/bin/bash
      echo $0    --- 第一个参数
      echo $1
      echo $2  
-- 文件外,键盘输入
sh a10.sh 1 200 300
--显示
a10.sh
1
200
66. -------while
while (( "${i} < 100 " ))
do 
   let "sum+=i"
done


67. wget //www.baidu.com/   -- 访问网页 (wget 下载)
more index.html  -- 从首页开始访问




68. --------------安装redis
/usr/local  下解压(安装路径,任意都行,注意环境变量的设置添加)
cd /usr/local/redis-3.0.7
make   -- 编译
make install  -- 安装
${PATH}   -- 查看/usr/local/bin是否已配置
redis-server -v  -- 查看版本
----------------配置-----------------
-----配置文件
cd /etc
mkdir redis
cd /var
mkdir redis
cd /var/redis
mkdir data log run
-----配置参数
cp /usr/local/redis-3.0.7/redis.conf /etc/redis/
cd /etc/redis
vi redis.conf
找到 pidfile /var/run/redis.pid 改为 pidfile /var/redis/run/redis.pid 
     dir ./  改为 dir /var/redis/data  (更改数据默认存放路径)
    logfile "" 改为 logfile "/var/redis/log/redis.log"  (日志文件路径)
------ 运行
cd /usr/local/bin
redis-server /etc/redis/redis.conf
后台(用另一个软件)执行 netstat -ntlp 命令 ,查看6379端口是否打开

(---redis-server /etc/redis/redis.conf & 后台运行---)


‘ctrl + z 退出
--------------------------------
redis-cli
set user tt
get user


----------------------------------------------------------------------
69.----------------函数
   #!/bin/bash


a=$1   ---- 脚本外的参数


   function demo(){ -- 函数定义,function可不写
read a
read b
echo `expr $a + $b`
   }
demo -- 函数调用


   function add(){
     echo $1 -- 第一个参数
     echo $2
     echo $# --- 参数个数
     c=`expr $1 + $2`
     return $c
   }
add 10 20   -- 传参
ret=$? --- 获取上一个返回值
echo ret


ret1=`demo`  -- 运行demo函数,获取所有echo值,用空格分开
echo ret1






----------------------------------------------------
[tt@localhost home]$
[当前用户@当前机器 当前文件夹]普通用户
[root@localhost home]#
。。。。。超级管理员
--------------------------------------------------------
linux文件目录:
  bin 二进制可执行文件 
  etc 系统配置文件
  usr 共享系统资源
  lib 库文件
  tmp 临时文件
  home 
  dev 设备文件
--------------------------------------------------------
脚本编程
windows:   dos  setclasspath.bat(文件存放)   
inux:    shell  setclasspath.sh
-------------------------
./a5.sh     -- 当前路径下
a5.sh   -- PATH 环境变量下路径
--------------------
=   赋值
==   内容相等    !=
===   内容相等,类型相等(绝对等于)    !==

 

本文由职坐标整理并发布,了解更多内容,请关注职坐标Linux频道!

本文由 @康帝 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程