欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux学习笔记

程序员文章站 2022-05-11 23:45:27
...

一、常用命令
1.ls
ls / 查看根目錄
ls -a / 查看根目錄下所要文件,包括隱藏文件
ls -l / 詳細列出目錄下文件的權限、所有者文件大小等詳細信息,可以簡單輸入||
ls -f / 列出目錄下文件名及其目錄類型;文件后有*表示可執行文件、@表示符號鏈接、/結尾表示目錄名
    ls –t依照最后修改文件时间列出文件名
  ls –R列出当前目录和其子目录的文件名
  ls –color=never不以颜色方式显示
  ls –color=always均以颜色方式显示
  ls –color=auto系统自动判断
2.cd 切换用户当前目录
cd /etc 使用絕對路徑進入"/etc"目錄
cd ../dev 使用相對路徑進入"/dev"目錄
    cd ~ 返回用户宿主目录
  cd . 用户的当前目录
  cd .. 返回上一级目录
3.pwd 查看用户当前所在位置
4.mkdir 创建目录
mkdir dir1 創建單個目錄
mkdir dir1 dir2 dir3 創建多個目錄
5.rmdir 删除目录,删除的目录必须是空的
rmdir dir1 刪除目錄dir1
rmdir dir1 dir2 刪除目錄dir1、dir2
6.touch创建文件命令
  如果文件不存在的话直接创建空文件,如果存在只是更改一下时间属性
7.file 查看文件类型
  File命令能够识别linux系统中大多数文件类型,可识别文本文件。二进制可执行文件、压缩文件等
8.cp复制文件
  cp 源文件 目标位置
  cp dir1/test/test /home
9.rm删除文件
  rm是删除文件的命令,linux中的文件删除是不可恢复的
    rm –r 循环删除直到删除没有
  rm –f 强制删除
  rm –rf 强制删除文件
10.mv移动文件或者重命名
mv /etc/test .
11.vi

12. 查看文件內容
more 3.txt
cat 3.txt
tac 3.txt
head -3 3.txt
tail -3 3.txt

13. find
find /ect -name *local

14. whereis 查找命令的環境變量
whereis ls
whereis find

15. ln 建立鏈接文件
hard link
symbol link 相關於桌面快捷方式

ln 3.txt 4
ln -s 3.txt 5

16. users and groups
useradd
passwd
userdel
groupadd
groupdel

17. wc 統計指定文本文件的行數、字數、字符數
18. grep 在指定的文本文件中查找指定的字符串
19. 其他命令
date ---- 顯示和設置日期時間
stat ---- 顯示指定文件的相關信息
who、w ---- 顯示在線登錄用戶
whoami ---- 顯示用戶自己的身份
id ---- 顯示當前用戶的id信息
hostname ---- 顯示主機名稱
uname ---- 顯示操作系統信息
dmesg ---- 顯示系統啟動信息
du ---- 顯示指定的文件(目錄)已使用的磁盤空間的總量
df ---- 顯示文件系統磁盤空間的使用情況
free ---- 顯示當前內存和交換空間的使用情況
fdisk -l ---- 顯示磁盤信息
locale ---- 顯示當前語言環境

二、linux常見文件類型
1. 系統文件
.conf   一种配置文件。配置文件有时也使用 .cfg 
.lock   锁(lock)文件;用来判定程序或设备是否正在被使用
.rpm   RedHat 用来安装软件的软件包管理器文件
2. 壓縮和歸檔文件
.bz2   使用 bzip2 压缩的文件
.gz    使用 gzip 压缩的文件
.tar   使用 tar (tape archive,磁带归档的简写)
.tbz   用 tar 和 bzip 压缩的文件
.tgz   用 tar 和 gzip 压缩的文件
.rar   windows 中常见,在 Linux 中较少使用 
.zip   在 MS-DOS 中常见。在 Linux 下使用 gzip 压缩,而 .zip 归档较少见
3. 編程和腳本語言
.c     C 程序语言的源码文件
.cpp   C++ 程序语言的源码文件
.h     C 或 C++ 程序语言的头文件
.o     程序的对象文件
.pl    Perl 脚本 
.py    Python 脚本 
.so    库文件
.sh    shell 脚本 
.java   Java 程序源代码文件
.lcss   Java 程序源代码编译后的中间代码文件
.tcl   TCL 脚本
4. 常見的媒體文件
.au    音频文件
.gif   GIF 图像文件
.swf   Flash 动画文件
.html/htm   HTML 文件
.xml   XML 文件
.bmp   位图文件
.jpg   JPEG 图像文件
.pdf   文档的电子映像;PDF 代表 Portable Document Format (可移植文档格式)
.png   PNG 图像文件(Portable Network Graphic ,可移植网络图形) 
.ps    PostScript 文件,为打印而格式化过的文件
.wav   音频文件
.xpm   图像文件

三、Linux分區的命名 --/dev/xxyN
1. /dev/
   這個字串是所有設備文件所在的目錄名。因為分區在硬盤上,而硬盤是設備,所以這些文件代表了在/dev/上所有可能的分區
2. xx
   分區名的前兩個字母標明分區所在設備的類型。通常是hd(IDE磁盤)或sd(SCSI磁盤)
3. y
   這個字母標明分區所在的設備。例如,/dev/hda(第一個IDE磁盤)或/dev/sdb(第二個SCSI磁盤)
4. N
   最後的數字代表分區。前四個分區(主分區或擴展分區)是數字從1排列到4. 邏輯分區從5開始。例如,/dev/hda3是在第一個IDE硬盤上的第三個主分區或擴展分區;/dev/sdb6是在第二個SCSI硬盤上的第二個邏輯分區。

創建和移除掛載點
mount /dev/cdrom /mnt/cdr
umount /dev/cdrom

四、Linux分區
1.手動分區
 / ---- 根分區
 /user  ---- 應用軟件存放位置
 /home  ---- 用戶宿主目錄的父mul
 /var   ---- 存放臨時文件
 /boot  ---- 存放啟動文件128M is enough
 SWAP   ---- 交換分區
  內存的兩倍
  可以不建(但是不建議,有的程序會默認使用SWAP分區)
  Windows中有PAGEFILE.SYS的文件相當於交換分區
2.磁盤分區方案
   至少兩個分區(for newbie)
 /分區
 SWAP分區
   個人桌面分區
 /分區
 /boot分區
 /usr分區
 SWAP分區
   光盤刻錄在加一個/tmp分區

五、Linux目錄結構
1. / Linux文件系統的入口,也是處於最高一級的目錄
2. /bin 基礎系統所需要的那些命令位於此目錄,也是最小系統所需要的命令;比如ls、cp、mkdir等命令;功能和/usr/bin類似,這個目錄中的文件都是可執行的,普通用戶可以使用的命令。作為基礎系統所需要的最基礎的命令就是放在這裡
3. /boot Linux的內核及引導系統程序所需要的文件,比如vmlinuzinitrd.img文件都位於這個目錄中。在一般情況下,GRUB或LILO系統引導管理器也位於這個目錄;
4. /dev 設備文件存儲目錄,比如聲卡、磁盤......
5. /etc 系統配置文件的所在地,一些服務器的配置文件也在這裡;比如用戶帳號及密碼配置文件
6. /home 普通用戶家目錄默認存放目錄
7. /lib 庫文件存放目錄

1./lost+found 在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這裡。當系統啟動的過程中fsck工具會檢查這裡,并修復已經損壞的文件系統。有時系統發生問題,有很多的文件被移動到這個目錄中,可能會用手工的方式來修復,或移動文件到原來的位置上。
2. /media 即插即用型存儲設備的掛載點自動在這個目錄下創建,比如USB盤系統自動掛載后,會在這個目錄下產生一個目錄;CDROM/DVD自動掛載后,也會在這個目錄中創建一個目錄,類似cdrom目錄
3. /mnt 這個目錄一般是用於存放掛載存儲設備的掛載目錄的,比如有cdrom等
4. /opt 表示的是可選擇的意思,有些軟件包也會被安裝在這裡,也就是自定義軟件包,比如Fedora Core 5.0中,OpenOffice就是安裝在這裡。有些我們自己編譯的軟件包,就可以安裝這個目錄
5. /proc操作系統運行時,進程(正在運行中的程序)信息機內核信息(比如cpu、硬盤分區、內存信息等)存放在這裡。/proc目錄偽裝的文件系統proc的掛載目錄,proc并不是真正的文件系統
6. /root Linux超級權限用戶的家目錄
7. /sbin大多是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin;/usr/X11R6/sbin或/usr/local/sbin目錄是相似的;我們記住就行了,凡是目錄sbin中包含的都是root權限才能執行的
8. /tmp臨時文件目錄,有時用戶運行程序的時候,會產生臨時文件。/tmp就是用來存放臨時文件的。/var/tmp目錄和這個目錄相似
9. /usr 這個是系統存放程序的目錄,比如命令、幫助文件等。這個目錄下有很多的文件和目錄。當我們安裝一個Linux發行版官方提供的軟件包是,大多安裝在這裡。如果有涉及服務器配置文件的,會吧配置文件安裝在/etc目錄中。/usr目錄下包括涉及字體目錄/usr/share/fonts,幫助目錄/usr/share/man或/usr/share/doc,普通用戶可執行文件目錄/usr/bin或/usr/local/bin或/usr/X11R6/bin,超級權限用戶root的可執行命令存放目錄,比如/usr/sbin或/usr/X11R6/sbin或/usr/local/sbin等;還有程序的頭文件存放目錄/usr/include
10. /var 這個目錄的內容是經常變動的,可以理解為vary的縮寫, /var下有/var/log這是用來存放系統日誌的目錄。/var/www目錄是定義Apache服務器站點存放目錄;/var/lib用來存放一些庫文件,比如MySQL的,以及MySQL數據庫的存放地。

六、boot sequence(important)
1. load bios(hardware infomation)
2. read MBR's config to find out the OS
3. load the kernel of the OS
4. init process starts
5. execute /etc/rc.d/sysinit
6. start other modules(etc/modules.conf)
7. execute the run lever scripts
8. execute /etc/rc.d/rc.local
9.execute /bin/login
10. shell started...

七、Login_Logout_Shutdown_Reboot
1. login
 Terminal or Gui
2. Exit
3. Shutdown
4. Reboot
5. Init(run level - /etc/inittab)
 init n
  0 - 系統停機狀態
  1 - 單用戶工作狀態
  2 - 多用戶狀態(沒有NFS)
  3 - 多用戶狀態(有NFS)
  4 - 系統未使用,留給用戶
  5 - 圖形介面
  6 - 系統正常關閉并重新啟動

八、文件權限
1.ls -l
drwxr-xr-x 4 root root 4096 Jun 12:03 d1

第一位:
d:目錄  l:鏈接 -:文件
后九位:
r:讀權限 w:寫權限 x:執行權限 -:無權限
其中前三位代表文件擁有者對文件的權限
中間三位代表與文件擁有者同組的用戶對文件的權限
最後三位代表除上面以外的其他用戶對文件的操作權限

chmod -x 4
chmod +x 4
chmod u+x 4
chmod g+x 4
chmod o+x 4

九、管道
1.管道;將一個命令的輸出傳送給另一個命令,作為另一命令的輸入
2.使用方法:
    命令1 | 命令2 | 命令3....|命令n
3. 例子
  ls -RI/etc | more
  cat /etc/passwd | wc
  cat /etc/passwd | grep lrj
  dmesg | grep eth0
  man bash | col -b > bash.txt
  ls -l | grep "^d"
  ls -l * | grep "^-" | wc -l

十、FTP
1.
service vsftpd start
ftp localhost
bye

ifconfig
service iptables stop 關閉Linux防火牆

匿名登錄:
ftp 192.168.116.128
anonymous
administrator

允许root用户上传
more vsftpd.user_list
vi vsftpd.user_list
vi vsftpd.ftpusers
把root注释掉:#root
service vsftpd restart

十一、SSH
chkconfig --list | grep vsftpd
chkconfig vsftpd on 使vsftpd服務開機自啟動
service sshd start 打開SSH服務
chkconfig sshd on

十二、JDK的安裝
cd /var/ftp/pub
ls
jdk-6u3-linux-i586-rpm.bin
./jdk-6u3-linux-i586-rpm.bin
ls -l
chmod 755 jdk-6u3-linux-i586-rpm.bin 添加執行權限
檢驗是否安裝成功:java、javac、java -version
jdk默認安裝路徑;/usr/java/