linux常用命令 2

时间:2023-03-09 14:42:00
linux常用命令 2

netstat 显示网络统计信息的命令
此命令用来显示整个

netstat -anp
p显示名称的名字

kill -9 进程号

traceroute 显示数据包历程

查询 系统有哪些shell
cat /etc/shells

网卡 ip dns地址设置
http://xpku.blog.163.com/blog/static/239650020096213304219/

samba安装以及使用 samba是linux和windows进行资源共享
http://www.cnblogs.com/phinecos/archive/2009/06/06/1497717.html
/etc/init.d/samba start

/etc/init.d/这个是目录,下面存放着很多的服务程序(当然都是可执行的)。

read 读取命令

read atest 从键盘读入数据进 atest
echo $atest
read -p "please enter your name :" -t 30 named
echo $named

-p 后面接字符
-t 等待时间

declare 声明变量

history

!number 执行 history中第number条命令
!command 执行最近的命令向前搜索 以command打头的搜寻
!! 执行最近的命令

路径与命令查找的顺序
alias->builtin->$PATH 查找命令的顺序

cat /etc/issue 在其中更改信息用于系统登陆时的欢迎信息
cat /etc/motd 这是提供给telnet用户显示信息用的

cat /root/profile 登录login之前读取其中的信息

mysqldump -u root -p密码 数据库名>data.bak 备份
mysql -u root -p密码 数据库名 <data.bak 恢复

ssh 安装
ubuntu 端 采用 apt-get install ssh 安装ssh服务
netstat -anp|more
-p 查看进程号

kill -9 进程号
/etc/init.d/ssh start 启动ssh服务
netstat -apn| grep 22 查看22号端口是否开启
如果是虚拟机内的话,必须网卡桥接,然后ip地址为虚拟机内的 ifconfig显示的ip地址才可以连接上

任务调度的使用 crontab
crontab -r 终止任务调度
crontab -l 列出当前有哪些任务调度
1.设置任务
crontab -e
2.每隔一定时间去执行
希望每天凌晨2点执行 date>>/home/friends/mydate2

分 小时 日期 月历 星期(0-6)
5 * * * * ls -l /etc/ >> filename

3.调度多个任务
1)在crontab -e中隔行写
2)可以把所有的任务,写入到一个可执行文件(Shell编程)
写一个shell脚本,然后在1)中 执行此shell脚本

查看进程
ps -aux 查看进程信息 静态地查看某个时刻进程
top 动态地
然后输入 u回车,再输入用户名 查看某个用户的启动的进程
然后输入k,再输入要结束的进程ID号 回车 杀死某个进程的ID

top -d 10 10秒更新进程

终止进程
kill pid 杀死进程 因为有些进程会捕捉某些信号,如果不能结束此进程可用下面
kill -9 pid 强制删除进程

cd 什么都不加 默认到自己用户的主目录

rm -rf b 能够删除目录和它里面的文件
-r 递归 recursive
-f force 强制,会全覆盖, 否则会挨个询问是否覆盖
touch 文件名 建立 空文件

cp -r 源文件夹 目的文件夹 拷贝文件夹操作
cp 源文件 目的文件 拷贝文件

用户登录后自动执行Shell脚本文件 (重要)
每个用户都有自己的一套环境变量配置、启动前运行 相应脚本的配置文件。
.bashrc 位于主目录比如friends下
它之前执行系统的脚本/etc/bashrc主要是基本配置数据 /etc/bashrc是系统的

.bash_profile 位于主目录比如friends用户下 的环境变量,配置的是用户的环境变量
它之前执行系统的脚本/etc/profile 主要是配置环境变量 /etc/profile是系统的shell脚本,配置系统的环境变量

shell 学习

cat /etc/passwd 最后一项数据表明 为这个用户提供的是哪个shell
alias lm='ls -al' 命令别名替换

type命令查看命令是否属于bash的命令

命令太长 加上 \ 按enter 会让enter暂先不具有实行的效果 实现多行输入命令的功能

用户自己定义的变量最好加上MY打头 个人习惯
MYNAME=WF 变量的设置
echo $MYNAME 显示变量内容

如果有空格 必须以 双引号 或者单引号 标注

双引号的内容 可以保持数据原本的特性
单引号的内容 则视为普通字符

unset MYNAME 取消变量的设置

EXPORT MYNAME 让其他子进程执行,让它变成环境变量。

`` 标注的会先执行命令,然后把结果给外围命令执行
ls -l ` locate aa` 把文件名aa相关的先找出来 然后 显示他们的信息

env 查看环境变量
set 查看环境变量与自定义变量
export 让自定义变量可以编程环境变量

##介绍重要的环境变量
HISTSIZE 历史命令的条数
RANDOM 产生0~32767 之间的数
PS1 对提示符的设置,可以让提示符显示更多的内容 P306
以下为 PS1中配置显示的意义
o \d :代表日期,格式为 Weekday Month Date,例如 "Mon Aug 1"
o \H :完整的主机名称。举例来说,鸟哥的练习机 linux.dmtsai.tw ,那么这个主机名
o \h :仅取主机名称的第一个名字。以上述来讲,就是 linux 而已, .dmtsai.tw 被省略。
o \t :显示时间,为 24 小时格式,如: HH:MM:SS
o \T :显示时间,12 小时的时间格式!
o \A :显示时间,24 小时格式, HH:MM
o \u :目前使用者的账号名称;
o \v :BASH 的版本信息;
o \w :完整的工作目录名称。家目录会以 ~ 取代;
o \W :利用 basename 取得工作目录名称,所以仅会列出最后一个目录名。
o \# :下达的第几个指令。
o \$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 。

PS2 当你使用转移符号\ 的时候 第二行的内容 一般是'> '

$ 本shell的pid 可以$$查看本shell的pid
? 回传码 如果上个命令执行成功回传码是0 否则为非0 通过$?查看

declare 和typeset是一样的功能, 声明变量的类型
declare bash主动将所有的变量名称与内容全部调出来,

-a 将variable的变量定义成数组类型
-i 整数数字
-x 用法与export一样
-r 设置成readonly类型,该变量不可被更改内容也不可重设

例如
sum=100+200
echo $sum 结果是100+200
declare -i sum=100+200
echo sum 结果是300

declare +x sum -变成+ 可以进行取消的操作 ,将sum变成非环境变量

ulimit -a 查看参数
可以设置系统最大 资源承受范围 查查命令

login shell 与 non-login shell

当对 ~/.bashrc 文件 加入了环境变量之后,想在当前立马生效需要以下
source 配置文件名
. 配置文件名 两个命令等同,将主文件的设置读入目前的bash环境
source .bashrc
. .bashrc

~/.bash_history 存放历史命令记录内容 HISTSIZE这个环境变量觉得最多记几条
~/.bash_logout 记载退出时 shell帮我们做什么事,可以自己往里面添加东西,当退出希望shell帮我们做什么

/etc/bashrc 是系统的,可以让所有用户共用的

/home/friends/.bashrc 是friends当前用户下的登录的时候会去读

配置.bashrc文件可以指定某些程序在用户登录的时候就自动启动。

当你希望临时加入一个路径,使用export
export PATH=$PATH:/root 临时生效的,添加路径,让它的子进程对这个临时变量也都有效,其他的就无效

bash 产生子进程 在子进程中 父进程用export声明的 都是有用的

unset name 取消name这个变量的内容 只对当前bash或者子bash有效。对新启动的bash无效

env | grep $PATH 查看

alias用法 别名
alias wwff='ls -l /home' 临时生效
wwff 则会当别名被执行命令

通配符 (必须掌握)

* 多个字母或数字
? 1个字母或数字
[1-6] 数字在1-6之间的一个数字