RSS订阅专注X86/ARM架构技术
博客交流QQ群693563350 赞助本站
你现在的位置:网站首页 / Linux / 正文内容

Linux命令大全

18140 Linux | 2016年05月27日

   Linux是类UNIX操作系统主要用于服务器,但也有桌面版却很少有人使用,Linux系统诞生于1991年10月5日(这是第一次向外公布时间),学Linux要先学好使用它的常用命令。

SSH: 

1、安装命令:apt-get install openssh-server 

2、停止服务:/etc/init.d/ssh start|stop|restart 

修改用户密码步骤: 

更改pi的密码 

sudo passwd pi 

输入新密码 

再次输入新密码 

输入命令exit退出 

用新密码登录 

更改root用户的密码 

sudo passwd 

输入新密码 

再次输入新密码 

输入命令exit退出 

用新密码登录 


文件和目录 

mkdir dir1 dir2 同时创建两个目录 

mkdir -p /tmp/dir1/dir2 创建一个目录树 

rm -f file1 删除一个叫做 'file1' 的文件' 

rmdir dir1 删除一个叫做 'dir1' 的目录' 

rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容 

rm -rf dir1 dir2 同时删除两个目录及它们的内容 

mv dir1 new_dir 重命名/移动 一个目录 

cp file1 file2 复制一个文件 

cp dir/* . 复制一个目录下的所有文件到当前工作目录 

cp -a /tmp/dir1 . 复制一个目录到当前工作目录 

cp -a dir1 dir2 复制一个目录 

ln -s 源文件 目标文件 创建一个指向文件或目录的软链接 

ln file1 lnk1 创建一个指向文件或目录的物理链接 


压缩命令:   

命令格式:tar -zcvf 压缩文件名.tar.gz 

被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。


解压缩命令:   

命令格式:tar -zxvf 压缩文件名.tar.gz   

解压缩后的文件只能放在当前的目录。 

====================================================== 

zip/unzip压缩解压缩命令 

1、把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩mydata目录

2、把/home目录下面的mydata.zip解压到mydatabak目录里面 unzip mydata.zip -d mydatabak 

3、把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip zip -r abc123.zip abc 123.txt 

4、把/home目录下面的wwwroot.zip直接解压到/home目录里面 unzip wwwroot.zip 

5、把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面 unzip abc\*.zip 

6、查看把/home目录下面的wwwroot.zip里面的内容 unzip -v wwwroot.zip 

7、验证/home目录下面的wwwroot.zip是否完整 unzip -t wwwroot.zip 

8、把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录 unzip -j wwwroot.zip 


man具体命令,比如man -ls 可以查询ls命令的具体用法,帮助 用以下命令查看单个目录 

# du -bs dir_name ll 列表显示当前文件夹内文件的详细信息,带上-h的参数,可以将文件大小改成m为单位显示,这样可读性更高。-h也是很多类似命令的参数。

free -g 用G的形式显示当前主机的内存情况, -m -k df -hl 查看磁盘空间 

df -hv 查看硬盘使用情况,以及挂载情况,通过ll 可以查看目录属于哪个挂载点,这样就知道属于哪个硬盘了,了解硬盘的使用情况,可以让我们设置合理的数据挂载位置 

du -h 查看当前目录的大小,这两个可以配合使用,具体参考。 

查看当前登录用户 

who 

查看所有用户 

sudo cat /etc/passwd 

删除用户 sudo userdel -r username 

linux下使用U盘 

先df -h看一下位置再mount 一般都是sda1 

一.Linux挂载U盘: 

1、插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1。 

2、在mnt目录下先建立一个usb的目录(如:[[email protected] root]# mkdir /mnt/usb)

3、挂载U盘:mount -t vfat /dev/sda1 /mnt/usb 

4、卸载U盘:umount /mnt/usb 

5、删除usb目录:rm -rf /mnt/usb 

linux下制作启动盘 

一、cat cat xxx.iso >/dev/sdb1 使用方法:cat 镜像目录 >设备(可使用fdisk -l查看) 注意:后面重定向的是设备而不是设备挂载后的目录,还有就是使用root权限运行。 

二、dd 

1、制作启动优盘 

sudo dd if=/home/avi/Downloads/Win10_English_x64.iso of=/dev/sdb1 bs=4M 

2、制作CD/DVD系统盘 sudo dd if=xxx.iso of=/dev/cdrom bs=4M 

3、制作镜像 sudo dd if=/dev/cdrom of=xxx.iso bs=4M 注:bs带的参数是一次写入字节数,可以自己替换更高的速度,但真正使用时,速度的上限还是限于硬件的读写速度,比如说,USB2.0的优盘,你带入参数bs=16M,但是真正得到的读写速度仍然是3M~4M的样子 


用 yyyymmdd hh:mm:ss 的格式手动设置时间。 sudo date -s "20140102 22:12:00" 

VI编辑 : w filename (输入 「w filename」将文章以指定的文件名filename保存) : wq (输入「wq」,存盘并退出vi) : q! (输入q!, 不存盘强制退出vi) 

软件安装和卸载命令 /opt/bin/ipkg list_installed 

列出己安装的软件列表 /opt/bin/ipkg remove 软件名 删除软件包 

安装软件 apt-get install softname1 softname2 softname3…… 

卸载软件 apt-get remove softname1 softname2 softname3…… 

卸载并清除配置 apt-get remove –purge softname1 

更新软件信息数据库 apt-get update 

进行系统升级 apt-get upgrade 

搜索软件包 apt-cache search softname1 softname2 softname3…… 

安装deb软件包 dpkg -i xxx.deb 

删除软件包 dpkg -r xxx.deb 

连同配置文件一起删除 dpkg -r –purge xxx.deb 

查看系统中已安装软件包信息 dpkg -l 

清除所有已删除包的残馀配置文件 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。 dpkg: –purge needs at least one package name argument dpkg安裝的可以用apt卸載,反之亦可。


vsftpd 错误 500 oops, cannot locate user entry:nobody 解决办法 (转载 ) 500 oops, cannot locate user entry:nobody 已经解决,在vsftpd.conf中加入一句: nopriv_user=xxxx //注意:这里的xxxx表示Linux中的登录用户名,参见/etc/passwd 文件可以查看所有用户及权限.


vsftp修改登陆密码(/etc/passwd) passwd配置文件修改: root:$1$PUiffzeQ$nB9jUuoOAYK/Uh77uCsIi1:0:0:root:/opt/home/root:/bin/sh shell:x:2000:2000:shell:/opt/home/user:/bin/sh root:后面是加密值 passwd.zip使用说明:解压后运行"vsftp密码加密值.bat"输入要加密的密码!!!


mysql导入导出

一、连接Mysql 

格式: mysql -h主机地址 -u用户名 -p用户密码 

1、连接到本机上的MYSQL。 

首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码。 

如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 

2、连接到远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u与root之间可以不用加空格,其它也一样) 

3、退出MYSQL命令: exit (回车) 

二、修改密码 

格式:mysqladmin -u用户名 -p旧密码 password 新密码 

1、给root加个密码ab12。 首先在DOS下进入目录mysql\bin,然后键入以下命令 mysqladmin -u root -password ab12 注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。 

2、再将root的密码改为djg345。 mysqladmin -u root -p ab12 password djg345 

三、创建数据库 

注意:创建数据库之前要先连接Mysql服务器 命令:create database <数据库名> 建立一个名为xhkdb的数据库 mysql> create database xhkdb; 

四、显示数据库 

命令:show databases (注意:最后有个s) mysql> show databases; 注意:为了不再显示的时候乱码,要修改数据库默认编码。以下以GBK编码页面为例进行说明: 

1、修改MYSQL的配置文件:my.ini里面修改default-character-set=gbk 

五、删除数据库 

命令:drop database <数据库名> 例如:删除名为 xhkdb的数据库 mysql> drop database xhkdb; 删除一个已经确定存在的数据库 mysql> drop database drop_database; Query OK, 0 rows affected (0.00 sec) 

六、连接数据库 

命令: use <数据库名> 

例如:如果xhkdb数据库存在,尝试存取它: mysql> use xhkdb; 屏幕提示:Database changed use 语句可以通告MySQL把db_name数据库作为默认(当前)数据库使用,用于后续语句。该数据库保持为默认数据库,直到语段的结尾,或者直到发布一个不同的USE语句: mysql> USE db1; mysql> SELECT COUNT(*) FROM mytable; # selects from db1.mytable mysql> USE db2; mysql> SELECT COUNT(*) FROM mytable; # selects from db2.mytable ========================================================================== linux下导入、导出mysql数据库命令 

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 

1、导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码 

2、只导出表结构 mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql #/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql 注:/usr/local/mysql/bin/ ---> mysql的data目录 

二、导入数据库 

1、首先建空数据库 mysql>create database abc; 

2、导入数据库 方法一: (1)选择数据库 mysql>use abc; (2)设置数据库编码 mysql>set names utf8; (3)导入数据(注意sql文件的路径) mysql>source /home/abc/abc.sql; 方法二: mysql -u用户名 -p密码 数据库名 < 数据库名.sql #mysql -uabc_f -p abc < abc.sql 建议使用第二种方法导入。 注意:有命令行模式,有sql命令


FTP命令

delete:删除远程主机文件 

例如:ftp>del 111.htm(文件名) 

put:将本地文件传送至远程主机。 

get:将远程主机的文件传至本地硬盘,“下传”一个文件。 

例如:ftp>get 1.htm d:\ggg\2.htm 下传文件一个文件。 

mdelete,mget,mput多个上传删除 

例如:ftp>mput d:\ggg\* 说明:将本地的D盘中的 prompt(是/不):设置多个文件传输时的交互提示。 

mkdir:在远程主机中建立一目录。 

rmd删除目录 

rename:更改远程主机的文件名。 

例如:ftp>ren 1.htm 4.txt 改文件名 

lcd:将本地工作目录切换至dir. lcd d:\


LNMP

先ssh连上DEBIAN 替换软件源

sudo vi /etc/apt/sources.list

直接把官方源去掉或者前面加#号注释掉,添入以下源:

deb http://xxx.org wheezy all

deb-src http://xxx.org wheezy all

这时apt-get更新软件包时出现错误提示Unable to locate package update,发现问题出在执行sudo apt-get install之前更换了软件源,但是却忘了更新软件源,于是执行下面的命令: sudo apt-get update 更新已安装的包 sudo apt-get upgrade

安装screen

sudo apt-get install screen

安装lnmp

sudo apt-get install nginx-full php5-fpm php5-curl php5-gd php5-mysql php5-memcache mysql-server mysql-client

安装mysql的时候会提示输入密码,密码不要忘记就行了。

apt-get install memcache

php5-fpm -v 查看PHP的版本

mysql_secure_installation mysql配置命令

启动nginx sudo /etc/init.d/nginx start

nginx的www根目录默认在 /usr/share/nginx/www中

安装phpmyadmin sudo apt-get install phpmyadmin

phpmyadmin在/usr/share/phpmyadmin下,然后将phpMyAdmin拷贝到/usr/share/nginx/www下

配置nginx vi /etc/nginx/nginx.conf 需要做的就是限定线程数和开启gzip支持,gzip开启后将大幅降低传输html的流量占用。

worker_processes 1; #只有一个CPU,单进程即可

worker_connections 256; #一般支持100在线连接就达到raspberry pi的极限了

gzip on; #gzip开启取消前面的#让默认设置生效即可

gzip_disable "msie6";

gzip_vary on;

gzip_proxied any;

gzip_comp_level 6;

gzip_buffers 16 8k;

gzip_http_version 1.1;

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

修改nginx的站点属性配置文件 sudo vi /etc/nginx/sites-available/default 找到listen行,将其前面的#号注释去掉,修改后内容如下

listen 80; ## listen for ipv4.

找到index行,加入index.php,修改后内容如下 index index.php index.html index.htm

找到php的定义段,将这些行的注释去掉 ,修改后内容如下

location ~ \.php$ {

 fastcgi_pass unix:/var/run/php5-fpm.sock;  fastcgi_index index.php;  

include fastcgi_params;

}

php段中有一些其它定义,不要去动它,比如:

# fastcgi_split_path_info ...

# fastcgi_pass 127.0.0.1:9000

重新加载nginx的配置 sudo /etc/init.d/nginx reload

测试一下,通过主机的IE访问树莓派,可以看到主页(表示Web服务器已正常启动)

设置目录权限 sudo chmod -R 777 /usr/share/nginx/www

在树莓派中生成一php文件,测试一下php

sudo vi /usr/share/nginx/www/test.php 在文件中输入以下内容 <? phpinfo(); ?> 存盘退出

我们还需要安装一个ftp服务器,用于对web上下载文件 安装vsftpd,用于web内容的ftpd上传. 

安装方法: 

1,安装vsftpd服务器 (约400KB) 

sudo apt-get install vsftpd 

2,启动ftp服务 

sudo service vsftpd start 

3,编辑vsftdp的配置文件 

sudo vi /etc/vsftpd.conf 找到以下行,定义一下 

anonymous_enable=NO 表示:不允许匿名访问 

local_enable=YES 设定本地用户可以访问。 

write_enable=YES 设定可以进行写操作 

local_umask=022 设定上传后文件的权限掩码。 

存盘退出 

4, 重启vsftpd服务 

sudo service vsftpd restart 

5, 测试一下, OK 

通过ftp连接DEBIAN系统,以用户名root登录,密码是root ftp的根目录是/home/root,即root用户的HOME目录 可上传或下载文件了 生成一个网站管理员用户,用于ftp上下载网站文件,如下 增加一个用户,用户名为ftpuser sudo useradd -m ftpuser 

修改用户ftpuser的密码 

sudo passwd ftpuser 

按系统提示,输入密码,例如:123456 让用户ftpuser拥有www根目录的所有权 sudo chown -R ftpuser /usr/share/nginx/www 将用户ftpuser的登录目录更改为www根目录 sudo usermod -d /usr/share/nginx/www ftpuser 

重启vsftpd sudo service vsftpd restart OK,配置完成,用户ftpuser登录ftp后,将直接进入www根目录,并可上下载文件\创建目录\删除文件等等.


上一篇:小米无人机纯直播发布会

下一篇:玩转虚拟机之分分钟在VM上跑OpenWrt

猜你喜欢